Оформление данных в DataGrid, HFlexGrid

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
arbusov
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 04.07.2005 (Пн) 12:43

Оформление данных в DataGrid, HFlexGrid

Сообщение arbusov » 18.07.2005 (Пн) 10:12

Помогите кто нибудь(советами/ссылками): как в HFlexGrid изменить выравнивание по краю в произвольном Band(); в DataGrid - сделать отступ от края текста, выровненного по правому краю.

Чудик
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 639
Зарегистрирован: 06.07.2004 (Вт) 12:18
Откуда: г. Егорьевск

Сообщение Чудик » 18.07.2005 (Пн) 15:10

Я думаю, что ручками. Пиши свой код форматирования текста.
Век живи - век учись!
www.detal-plast.narod.ru

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 18.07.2005 (Пн) 15:38

1. CellAlignment + группа свойств .ColAlignment* (4 штуки).
2. Не знаю - мало работал с этим контролом.

Чудик
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 639
Зарегистрирован: 06.07.2004 (Вт) 12:18
Откуда: г. Егорьевск

Сообщение Чудик » 19.07.2005 (Вт) 9:39

А отступ, т.е. красную строку, можно реализовать, думаю, путем автоматической вставки пробелов вначале текста.
Век живи - век учись!
www.detal-plast.narod.ru

arbusov
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 04.07.2005 (Пн) 12:43

Сообщение arbusov » 19.07.2005 (Вт) 9:42

Да умею я ручками-то, только вот:
1) Property ColAlignment(index As Long) As Integer - все время обращается к BAND(0), а при задании несуществующего index просто добавляет пустой столбец!
2) Ну не видно у DataGrid никаких свойств/методов насчет отступа текста от края!
HELP!!!

Чудик
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 639
Зарегистрирован: 06.07.2004 (Вт) 12:18
Откуда: г. Егорьевск

Сообщение Чудик » 19.07.2005 (Вт) 10:07

1. .ColAlignment(Index)=x
где х - константа, равная от 1 ... 9, наверное - диапазон не помню.
У меня всегда работало как положено - выравнивание по левому краю, по центру и по правому краю + выравнивание по высоте ячейки.
2. Ты про красную строку или про отступ всего содержимого?
Век живи - век учись!
www.detal-plast.narod.ru

Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 19.07.2005 (Вт) 10:09

Object Browser писал(а):Property ColAlignmentBand(BandNumber As Long, BandColIndex As Long) As Integer
Member of MSHierarchicalFlexGridLib.MSHFlexGrid
Returns or sets the alignment of data in a column. Not available at design time (except indirectly through the FormatString property).

Пример использования:
Код: Выделить всё
Me.MSHFlexGrid1.ColAlignmentBand(0, 1) = flexAlignRightCenter

arbusov
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 04.07.2005 (Пн) 12:43

Сообщение arbusov » 19.07.2005 (Вт) 10:16

Чудик писал(а):А отступ, т.е. красную строку, можно реализовать, думаю, путем автоматической вставки пробелов вначале текста.

Ну тогда уж в конце, ведь отступа нет только при выравнивании по правому краю, да и как вставлять пробелы в нужных столбцах при чтении из базы? Это насколько нужно все запросы усложнить ради какого-то выранивания? Д.б. простой способ, только он себя пока никак не обнаруживает...

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 19.07.2005 (Вт) 10:32

.NumberFormat = "#0.00 "
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

arbusov
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 04.07.2005 (Пн) 12:43

Сообщение arbusov » 19.07.2005 (Вт) 10:32

Спасибо Ennor, даже стыдно :oops: . Вопрос №1 снят...

Чудик
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 639
Зарегистрирован: 06.07.2004 (Вт) 12:18
Откуда: г. Егорьевск

Сообщение Чудик » 19.07.2005 (Вт) 10:34

Сам запрос можно не трогать, форматирование делать непосредственно в самом контроле. Усложнять алгоритм придется конечно, но по-другому не подскажу.
Век живи - век учись!
www.detal-plast.narod.ru

arbusov
Начинающий
Начинающий
 
Сообщения: 16
Зарегистрирован: 04.07.2005 (Пн) 12:43

Сообщение arbusov » 19.07.2005 (Вт) 11:04

Всем большое спасибо. Некоторые трудности остались, но в целом работает. Пример GSerg (.NumberFormat = "#0.00 ") решает проблему 2:
.Columns(1).NumberFormat = "dd mm yyyy " 'для дат


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, SemrushBot и гости: 68

    TopList