2009-10-28 2 views
7

Это для приложения winform vb.net 2008. Я возвращаю данные из базы данных и основываясь на некоторых статических условиях ... Я хочу изменить цвет фона и текста. Там нет события RowDataBound в WinForm ...условное изменение цвета фона и текста ячейки данных datagridviews

надежда кто-то может дать некоторые ориентиры благодаря Shannon

+1

Я могу придумать как минимум 20 различных способов вернуть данные из БД, чтобы было полезно, если бы вы были более конкретными. –

+0

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

ответ

4

Я получил это работает ... в RowPostPaint случае .. Если я ставлю в

if (my criteria here) 
    Me.dgTableInfo.Rows(e.RowIndex).Cells("ColumnName").Style.BackColor = Color.Red 
end if 
1

Не забудьте также установить selectoinBackColor ... иначе, если ваша красная строка изменится, но вы ее выделили, она будет выглядеть так же, как и все остальное.

1

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

Do While myDataReader.Read() 
    ItemID = Trim(myDataReader.Item("ITEM").ToString()) 
    PAR = myDataReader.Item("PAR").ToString() 
    Returned = myDataReader.Item("RETURNED_AMOUNT") 
    Taken = myDataReader.Item("TAKEN_AMOUNT") 
    OnHand = ((PAR + Returned) - Taken) 

    DataGridViewItemList.Rows.Add(ItemID, PAR, Returned, Taken, OnHand) 

    RI = DataGridViewItemList.Rows.Count - 1 
    If OnHand <= (PAR/2) Then 
     DataGridViewItemList.Rows(RI).DefaultCellStyle.BackColor = Color.DarkSalmon 
    Else 
     DataGridViewItemList.Rows(RI).DefaultCellStyle.BackColor = Nothing 
    End If 
Loop 
Смежные вопросы