2010-12-12 4 views
3

В asp.net мы можем обрабатывать событие RowDataBound элемента управления GridView. это событие срабатывает, когда каждая строка добавляется в gridview.Событие gridview rowdatabound в winforms?

Я хочу, чтобы иметь возможность обрабатывать это событие в gridview в приложении winforms, но я не могу найти подобное событие. мой вопрос - что такое имя события, которое позволяет мне делать то же самое, что и RowDataBound в asp.net?

ответ

3

DataGridView не имеет той же обработки событий, что и в ASP.NET.

Что вы можете сделать, это обработать событие RowsAdded, но обратите внимание, что при возникновении этого события может быть добавлено несколько строк. Пример:

private void dataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e) 
{ 
    for (int i = e.RowIndex; i < e.RowCount + e.RowIndex; i++) 
    { 
     Console.WriteLine("Row " + i.ToString() + " added"); 
    } 
} 

Кроме того, это событие немного «глючит» - в тот момент, когда он DataBound это может сработать несколько раз для каждой строки, а затем он ведет себя правильно - при добавлении новой строки источник данных, он запускается только один раз.

Возможно, я должен упомянуть (даже если это не ваш первоначальный вопрос), что если вы использовали это событие в ASPX для обработки форматирования вывода, то здесь фактически было бы эквивалентно событие CellFormatting - это событие вызывается всякий раз, когда ячейки необходимо отобразить его значение.

0

Нет точного аналога события RowDataBound для WinForms DataGridView. Но если вы хотите изменить отображаемый текст перед отображением значения ячейки ячейки, вы можете обработать событие DataGridView для CellFormatting.

Смежные вопросы