[ mish_ns @ 04.09.2013. 14:14 ] @
Pozdrav svima...

Interesuje me kako da promenim pozadinsku boju nekih ćelija?
Do sada sam video da moram koristiti paint event kako bih to uradio...

Međutim sada mi je problem da kod brisanja vrste iz datagridview kontrole dobijam grešku (plava boja) Index out of range...

Code:

 Dim i, j As Integer
        For j = 0 To dgvPom.RowCount - 1
            For i = 0 To dgvP.RowCount - 1
                If dgvPom.Item(0, j).Value = [blue]dgvP.Item(8, i).Value[/blue] Then
                    dgvP.Item(2, i).Style.BackColor = Color.LightGreen
                    dgvP.Item(2, i).Style.SelectionBackColor = Color.LightGreen
                    dgvP.Item(2, i).Style.SelectionForeColor = Color.DarkBlue
                End If
            Next
        Next


Da li nekako mogu sam da definisem kada da pozovem Paint ili CellPainting event datagridview kontrole?

HVALA
[ mish_ns @ 05.09.2013. 13:43 ] @
Primetio sam da mi se ovo dešava kada izbrišem vrstu iz dgvP kontrole...
Ukoliko menjam boju pre brisanja vrste, kod prođe.
Nakon brisanja vrste, kod izbacuje grešku:
System.ArgumentOutOfRangeException was unhandled
Message="Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index"
ParamName="index"

[ AMD guy @ 05.09.2013. 14:01 ] @
Jesi pogledao sta znaci ta greska
http://msdn.microsoft.com/en-u...ms.datagridviewcell.value.aspx

Citat:
ArgumentOutOfRangeException
RowIndex is outside the valid range of 0 to the number of rows in the control minus 1.


Celije imaju svoj index, pa ako se taj index nadje u stanju gde je njegova vrednost manja od nule ili vec od broja vrsta u toj kontroli dobices tu gresku.
Jel mozes da proveris koju vrednost ima index kada se ta greska desi?
[ mish_ns @ 06.09.2013. 06:12 ] @
Da...gledao sam...
Jasno mi je šta je greška, ali mi se ona javlja na index-u i=0, j=0.
Pri debagovanju, kada mi se javi greška, grid je popunjen.

Nakon brisanja, imam funkciju koja iz baze povuče podatke i ponovo prikazuje grid (kao refresh)...
E sad, kada nakon brisanja hoću da uradim markiranje (promenu boje ćelije) onda dobijam ovu grešku...
Ukoliko markiranje odradim pre brisanja sve radi dobro...
???
[ AMD guy @ 06.09.2013. 09:23 ] @
Ovo nisam proverio ali mislim da nemozes da promenis boju celije POSLE brisanja, odnosno kada je celija NULL.
[ mish_ns @ 06.09.2013. 13:27 ] @
Nismo se razumeli...posle brisanja, radim refresh datagridview-ai ponovno markiranje celija koje su ostale...
Znaci ne uzimam u obzir podatak koji sam izbrisao...
[ AMD guy @ 06.09.2013. 13:40 ] @
Refresh vec postojecih podataka ili refresh ponovno dovlacenje podataka iz baze?
Posto datagridview sluzi samo za prikaz podataka.
[ mish_ns @ 06.09.2013. 13:41 ] @
Citat:
AMD guy: Refresh vec postojecih podataka ili refresh ponovno dovlacenje podataka iz baze?


Ovo drugo...posto brisem podatak iz baze i onda radim select upit...kako bih opet prikazao podatke...
[ PeleZr @ 06.09.2013. 18:53 ] @
Hajde postavi kompletan kod, bice lakse da vidimo u cemu je problem

a o CellPainting eventu pogledaj http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.cellpainting.aspx