2009-10-28 20 views
7

Jest to dla aplikacji winform vb.net 2008. Przywracam dane z bazy danych i na podstawie pewnych warunków statycznych ... chcę zmienić kolor tła i tekstu. Nie ma wydarzenie RowDataBound w winform ...warunkowa zmiana koloru tła i tekstu komórki datagridview

nadzieję, że ktoś może dostarczyć pewnych wskazówek dzięki Shannon

+1

Potrafię wymyślić co najmniej 20 różnych sposobów na przywrócenie danych z bazy danych, więc może być pomocne, gdybyś był bardziej konkretny. –

+0

Przepraszam za to ... nie mam problemu z przywróceniem danych z bazy danych, to formatowanie stylu komórki, do której przechodzą dane. – jvcoach23

Odpowiedz

4

mam to działa ... w przypadku RowPostPaint .. Jeśli mogę umieścić w

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

Nie zapomnij również ustawić selectoinBackColor ... w przeciwnym razie, jeśli zmienisz czerwony wiersz, ale go podświetlisz, będzie wyglądać tak samo jak cała reszta.

1

Działa to bez tworzenia lub wywoływania wielu podsystemów lub funkcji. Wydaje się pracować dla każdej instancji, której potrzebuję.

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 
Powiązane problemy