1

Мне нужно показать значение автоматического прироста в ячейках столбца в DataGridView. Тип столбца DataGridViewLinkColumn и сетка должна быть такой:Показать индекс строки в ячейках столбца в DataGridView

| Column X | Column Y | 
----------------------- 
| 1  | ........ | 
| 2  | ........ | 
| ........ | ........ | 
| n  | ........ | 

Я попробовал эти коды, но он не работает:

int i = 1; 
foreach (DataGridViewLinkColumn row in dataGridView.Columns) 
{     
    row.Text = i.ToString(); 
    i++; 
} 

Может кто-нибудь помочь мне, пожалуйста?

ответ

1

Вы можете обрабатывать CellFormatting событие вашей DataGridView, а затем обеспечить значение для ячейки там:

private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) 
{ 
    if (e.RowIndex < 0 || e.RowIndex == this.dataGridView1.NewRowIndex) 
     return; 

    //Check if the event is fired for your specific column 
    //I suppose LinkColumn is name of your link column 
    //You can use e.ColumnIndex == 0 for example, if your link column is first column 
    if (e.ColumnIndex == this.dataGridView1.Columns["LinkColumn"].Index) 
    { 
     e.Value = e.RowIndex + 1; 
    } 
} 

Это лучше не использовать простой for или foreach петлю, потому что если вы сортировать сетку, используя другой столбец, то порядок номеров в этом столбце будет неупорядоченным.

+0

Уважаемый вас, Rock.Thanks for Help – Manraj

+0

Добро пожаловать :) –