FetchRowStyle и True DBGrid - VB

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

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

пишу обработчик на FetchRowStyle (писала на форум vb.net, но там никто не ответил. может, здесь помогут). код на vb.net, но суть остается сутью.

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

в итоге он выдает, что ни у одной строки нет розового цвета, хотя я 100 % вижу, что есть. скорей всего неправильно обращаюсь вот в этой строке:

Вопрос: как правильно проверить те строки, которые подсвечены в событии FetchRowStyle. Заранее спасибо.

Решение задачи: «FetchRowStyle и True DBGrid»

textual
Листинг программы
<font color="00AA00">'Структура для возврата значения из функции</font>
   <font color="blue">Private</font> <font color="blue">Structure</font> RowColors
      <font color="blue">Public</font> BackColor <font color="blue">As</font> Color
      <font color="blue">Public</font> BackColor2 <font color="blue">As</font> Color
   <font color="blue">End</font> <font color="blue">Structure</font>

   <font color="00AA00">'Отдельная функция для определения цвета окраски строки</font>
   <font color="blue">Private</font> <font color="blue">Function</font> GetRowColors(<font color="blue">ByVal</font> RowIndex <font color="blue">As</font> <font color="blue">Integer</font>) <font color="blue">As</font> RowColors
      <font color="blue">Dim</font> clrs <font color="blue">As</font> <font color="blue">New</font> RowColors
      <font color="blue">If</font> table.DefaultView(RowIndex)(<font color="teal">"ShipVia"</font>) = <font color="darkblue"><b>3</b></font> <font color="blue">Then</font>
         clrs.BackColor = Color.Pink
         clrs.BackColor2 = Color.Pink
      <font color="blue">Else</font>
         clrs.BackColor = Color.FromArgb(<font color="darkblue"><b>255</b></font>, <font color="darkblue"><b>255</b></font>, <font color="darkblue"><b>192</b></font>)
         clrs.BackColor2 = Color.FromArgb(<font color="darkblue"><b>192</b></font>, <font color="darkblue"><b>192</b></font>, <font color="darkblue"><b>255</b></font>)
      <font color="blue">End</font> <font color="blue">If</font>
      <font color="blue">Return</font> clrs
   <font color="blue">End</font> <font color="blue">Function</font>

   <font color="blue">Private</font> <font color="blue">Sub</font> C1TrueDBGrid1_FetchRowStyle(<font color="blue">ByVal</font> sender <font color="blue">As</font> <font color="blue">Object</font>, <font color="blue">ByVal</font> e <font color="blue">As</font> C1.Win.C1TrueDBGrid.FetchRowStyleEventArgs) _
            <font color="blue">Handles</font> C1TrueDBGrid1.FetchRowStyle
      <font color="blue">With</font> GetRowColors(e.Row)
         e.CellStyle.BackColor = .BackColor
         e.CellStyle.BackColor2 = .BackColor2
      <font color="blue">End</font> <font color="blue">With</font>
   <font color="blue">End</font> <font color="blue">Sub</font>

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


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

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

7   голосов , оценка 4.143 из 5