powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Стили TDGrid
8 сообщений из 8, страница 1 из 1
Стили TDGrid
    #33725885
Настенька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у меня есть таблица, записей в ней может быть сколько угодно.
необходимо создать столько стилей грида, сколько записей. делаю так:

rcd.open ss,cn,adopenkeyset,adlockoptimistic - открываю рекордсет
i=0
while not rcd.eof
i=i+1
dim (st & i) As New TrueOleDBGrid80.Style
rcd.movenext
wend
тут он ругается, ошибка выдается.

должно получиться так:
необходимо в цикле создать стили, если например 4 записи, то должно быть 4 стиля:
dim st1 As New TrueOleDBGrid80.Style
dim st2 As New TrueOleDBGrid80.Style
dim st3 As New TrueOleDBGrid80.Style
dim st4 As New TrueOleDBGrid80.Style
...
Рейтинг: 0 / 0
Стили TDGrid
    #33725893
Фотография Worobjoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
   Dim NewStyle As TrueOleDBGrid80.Style
   Dim i As Long
   i =  0 
   Do Until rs.EOF
      Set NewStyle = TDBGrid1.Styles.Add("st" & i)
      'NewStyle.ForeColor = xxxx ... и т.п. 
      rs.MoveNext
      i = i +  1 
   Loop
Разреши поинтересоваться, а зачем столько стилей в гриде?
...
Рейтинг: 0 / 0
Стили TDGrid
    #33725897
Настенька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да просто пользователю надо выделять строки разными цветами в зависимости от содержания 1 поля, вот из-за этого надо кучу стилей создавать. подскажите, если иожно как-то по другому выделять всю строку например зеленым цветом в зависимости от содержания в поле.
...
Рейтинг: 0 / 0
Стили TDGrid
    #33725909
Фотография Worobjoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Примерно так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Private Sub TDBGrid1_FetchRowStyle(ByVal Split As Integer, Bookmark As Variant, ByVal RowStyle As TrueOleDBGrid80.StyleDisp)
   If IsNull(Bookmark) Then Exit Sub
   rsX.Bookmark = Bookmark
   Select Case rsX( 0 )
      Case  1 
         RowStyle.BackColor = vbGreen
      Case  2 
         RowStyle.BackColor = vbBlue
   End Select
End Sub
...
Рейтинг: 0 / 0
Стили TDGrid
    #33725940
Настенька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ага, в точности.
...
Рейтинг: 0 / 0
Стили TDGrid
    #33725951
Настенька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
черт, почти всё победила, еще проблема. вот сделала по совету:

Do Until rs.EOF
Set NewStyle = TDBGrid1.Styles.Add("st" & i)
'NewStyle.ForeColor = xxxx ... и т.п.
rs.MoveNext
i = i + 1
Loop

но почему в процедуре FetchRowStyle когда я присваиваю rowstyle=st1,
он пишет что st1 empty.
...
Рейтинг: 0 / 0
Стили TDGrid
    #33726246
Настенька
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем, вопрос снят
...
Рейтинг: 0 / 0
Стили TDGrid
    #33727091
Фотография Worobjoff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Одно не понял: вы делаете по стилю на каждую строку в гриде
или по стилю на каждое возможное значение в колонке 1
?
Это ведь два разных подхода!
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Стили TDGrid
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]