c # - DataGridView CellFormatting Event ikke firing

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg har tilføjet en håndterer til CellFormatting-begivenheden på en DataGridView for at ændre baggrundsfarven baseret på indholdet af rækken.


Det lader ikke til at skyde, selvom data bliver indsat i tabellen. Jeg tilføjede hændelseshandleren ved at dobbeltklikke i IDE'en på CellFormatting-hændelsen, som syntes at skabe koden korrekt.


   private void dataGridView1\_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
    {
        // this never gets called
        MessageBox.Show("Event fired");
    }


Hvad kunne jeg gøre forkert?

Bedste reference


Jeg tror, ​​at du ikke kan bruge CellFormating-arrangementet til din sag. Det sker, når indholdet af en celle skal formateres til visning.


Prøv CellValueChanged event i stedet (http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.cellvaluechanged.aspx)


Eller


Vælg anden passende begivenhed fra http://msdn.microsoft.com/en-us/library/x4dwfh7x.aspx[3]

Andre referencer 1


Du kan prøve RowValidated-begivenheden:


 private void dataGridView1\_RowValidated(object sender, DataGridViewCellEventArgs e)
 {
        dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Blue;
 }


BEMÆRK: Denne begivenhed brænder, når du klikker på rækker, og når du lukker formularen.