TrueDBGrid и покраска отдельных ячеек в нем - VB

Узнай цену своей работы

Формулировка задачи:

Спрашивала здесь раньше, никто не ответил мне. Пишу еще раз, т.к. проблема очень актуальная для меня.
Есть truedbgrid1, в нем такие значения:

Необходимо сделать в гриде так, чтобы:
1. Если в столбце f1 фамилия Иванов, то сделать заливку f2 синим.
2. Если в f3 значение отрицательное, то сделать шрифт красным.
3. Если f4 не пустое, то выделяем зеленым.
Нужно сделать разное форматирование для 3 колонок.
Пробовала использовать fetchcellstyle, но он действует для всех колонок, и не для каждой в отдельности. Еще есть addregexstyle, но он действует только на 1 колонку, и на пустые в ней проверить не удалось. Помогите пожалуйста.
Вот что должно в итоге получиться:

Решение задачи: «TrueDBGrid и покраска отдельных ячеек в нем»

textual
Листинг программы
<font color="blue">Private</font> <font color="blue">Sub</font> Command1_Click()
    .......... <font color="00AA00">'формируем Грид</font>
    TDBGrid1.Columns(<font color="darkblue"><b>1</b></font>).FetchStyle = True 
    TDBGrid1.Refresh
<font color="blue">End</font> <font color="blue">Sub</font>

<font color="blue">Private</font> <font color="blue">Sub</font> TDBGrid1_FetchCellStyle(<font color="blue">ByVal</font> Condition <font color="blue">As</font> <font color="blue">Integer</font>, <font color="blue">ByVal</font> Split <font color="blue">As</font> <font color="blue">Integer</font>, Bookmark <font color="blue">As</font> Variant, <font color="blue">ByVal</font> Col <font color="blue">As</font> <font color="blue">Integer</font>, <font color="blue">ByVal</font> CellStyle <font color="blue">As</font> TrueOleDBGrid70.StyleDisp)
    <font color="00AA00">'Выставляем свои условия</font>
    <font color="blue">If</font> TDBGrid1.Columns(Col).CellText(Bookmark) = <font color="teal">"Иванов"</font> <font color="blue">Then</font>
        CellStyle.BackColor = vbRed
    <font color="blue">End</font> <font color="blue">If</font>
    <font color="blue">If</font> TDBGrid1.Columns(Col).CellValue(Bookmark) = <font color="darkblue"><b>1</b></font> <font color="blue">Then</font> <font color="00AA00">'переменная Col должна присутствовать и ее убирать нельзя</font>
        CellStyle.BackColor = vbGreen
    <font color="blue">End</font> <font color="blue">If</font>
<font color="blue">End</font> <font color="blue">Sub</font>

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 4.1 из 5
Похожие ответы