Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Добавление картинки в колонку true dbgrid / 7 сообщений из 7, страница 1 из 1
11.08.2005, 06:22:18
    #33209433
Настенька
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление картинки в колонку true dbgrid
подскажите, как правильно сделать. есть 2 колонки в гриде. надо сделать проверку, если во 2 колонке значение содержит цифры, то в 1 колонку вставить картинку. пробовала такой вариант:

Dim NS As New TrueOleDBGrid80.Style
NS.ForegroundPicture = ImageList1.ListImages(5).Picture
TDBGrid1.Columns(2).AddRegexCellStyle -1, NS, "[0-9]"

всё правильно работает, т.е. он выводит картинки во 2 колонку. а мне надо, чтобы условие было тем же, а картинка выводилась в 1 колонке. помогите!!!
...
Рейтинг: 0 / 0
11.08.2005, 08:24:50
    #33209506
KuzVit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление картинки в колонку true dbgrid
Может, попробовать через событие UnboundColumnFetch ?
В нем делать проверку в клонированном рекордсете, и менять стиль, если нужно.
...
Рейтинг: 0 / 0
11.08.2005, 08:34:45
    #33209516
Настенька
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление картинки в колонку true dbgrid
надо обойтись без клонов, может как-то отрисовать эти картинки.
...
Рейтинг: 0 / 0
11.08.2005, 14:03:39
    #33210466
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление картинки в колонку true dbgrid
Это надо сделать в запросе: одно и то же поле включить в запрос с разными псевдонимами.
...
Рейтинг: 0 / 0
12.08.2005, 05:20:40
    #33211872
Настенька
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление картинки в колонку true dbgrid
ну включила я это поле, например: 1 колонка: 123, 2 колонка: 9898
поле: 9898 123. вот так высвечивается обе колонки в одной. вопрос дальше: как мне вместо 9898 высветить картинку?
...
Рейтинг: 0 / 0
12.08.2005, 10:32:17
    #33212241
KuzVit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление картинки в колонку true dbgrid
А если сделать еще одну колонку, где только картинки отображать, и туда это значение и записывать?
То есть, как и говорит Worobjoff , одно поле возвращать в двух колонках под разными псевдонимами?
...
Рейтинг: 0 / 0
15.08.2005, 16:12:57
    #33216052
infant
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Добавление картинки в колонку true dbgrid
Можно в запросе возвращать поле с флагом (вместо дублирующего): например 1 - число и 0 - не число.
Тогда при загрузке:
Private Sub Form_Load()
Dim vitem As New TrueOleDBGrid80.ValueItem

With TDBGrid1.Columns(Index).ValueItems
.Clear
.Translate = True

vitem.Value = 0
vitem.DisplayValue = LoadPicture("PathFile\NotNumber.bmp")
.Add vitem

vitem.Value = 1
vitem.DisplayValue = LoadPicture("PathFile\IsNumber.bmp")
.Add vitem
End With
........
End sub

Правда в данном случае при изменении значения в grid (столбец со значение номер/не номер) Вам надо будет отслеживать это событие менять значение в столбце с картинкой на 1 или 0

Втрой вариант:
Private Sub Form_Load()
..........
TDBGrid1.Columns(Index).FetchStyle = True
.....
end sub

Private Sub TDBGrid1_FetchCellStyle(ByVal Condition As Integer, ByVal Split As Integer, _
Bookmark As Variant, ByVal Col As Integer, ByVal CellStyle As TrueOleDBGrid80.StyleDisp)

TDBGrid1.Bookmark = Bookmark
If IsNumeric(TDBGrid1.Columns(Col).Value) Then
CellStyle.BackgroundPicture = LoadPicture("PathFile\IsNumber.bmp")
Else
CellStyle.BackgroundPicture = LoadPicture("PathFile\NotNumber.bmp")
End If
End Sub
При переходе на другую строку картинка будет меняться
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Добавление картинки в колонку true dbgrid / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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