Событие DataGridView CellFormatting не запускается - PullRequest
1 голос
/ 21 апреля 2011

Я добавил обработчик для события CellFormatting в DataGridView, чтобы изменить цвет фона на основе содержимого строки.

Кажется, что он не запускается даже при вставке данных вТаблица.Я добавил обработчик событий, дважды щелкнув в среде IDE на событии CellFormatting, которое, казалось, правильно создавало код.

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

Что я мог делать неправильно?

Ответы [ 2 ]

2 голосов
/ 21 апреля 2011

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

Попробуйте вместо этого событие CellValueChanged (http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridview.cellvaluechanged.aspx)

или

Выберите другое подходящее событие из http://msdn.microsoft.com/en-us/library/x4dwfh7x.aspx

2 голосов
/ 21 апреля 2011

Вы можете попробовать событие RowValidated:

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

ПРИМЕЧАНИЕ. Это событие будет срабатывать при нажатии на строки и при закрытии формы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...