2015-02-07 4 views
0

Мне было интересно, как окрасить первые 8 строк datagridview. Мне удалось отсортировать значения в порядке убывания, и я хочу, чтобы первые 8 строк были выделены цветом, чтобы выделить верхнюю восьмерку для пользователя, и я не уверен, как это сделать.Раскраски строк datagrid

Dim count As Integer 
For count = 0 To datagridsort.RowCount - 1 
    Do 
    datagridsort.Rows(0).Cells(0).Style.BackColor = Color.Coral 
    datagridsort.Rows(0).Cells(1).Style.BackColor = Color.Coral 
    Loop Until count = 8 
Next 
+0

Петля через них: 'dgv.Rows (х) .Cells (у) = .Style.BackColor Color.Red' – LarsTech

ответ

0

В коде вы публикуемый в своем комментарии, вы никогда не были с помощью подсчета переменных. Вы только обновляли первую строку каждый раз. Попробуйте так:

For i As Integer = 0 To Math.Min(datagridsort.RowCount - 1, 7) 
    For j As Integer = 0 To datagridsort.ColumnCount - 1 
    datagridsort.Rows(i).Cells(j).Style.BackColor = Color.Coral 
    Next 
Next 
+0

@das_l Вы забыли использовать я & J переменные. В вашем коде использовался 'datagridsort.Rows (0) ...', где вы только обновляли строки (0). Мой пост делает строки (i). – LarsTech

+0

@das_l Сколько строк в сетке при запуске этого кода? – LarsTech

+0

@das_l Ну, запустите этот код * после * вы добавляете строки. Кроме того, вы можете играть с событием RowsAdded, чтобы сделать эту работу тоже. – LarsTech

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