Было немного трудно понять, что вы ищете. Кажется, вы хотите ввести результат Column3 из предыдущего ряда в следующий ряд. Это можно сделать следующим образом:
C #:
for (var ir = 1; ir <= dgv.Rows.Count - 1; ir++) // note we're starting on the *2nd* row
{
dgv.Rows(ir).Cells("Col1").Value = dgv.Rows(ir - 1).Cells("Col3").Value;// or another result from your previous row...
}
VB.NET:
For ir = 1 To dgv.Rows.Count - 1 ' note we're starting on the *2nd* row
dgv.Rows(ir).Cells("Col1").Value = dgv.Rows(ir - 1).Cells("Col3").Value ' or another result from your previous row...
Next
Вместо зацикливания целого DataGridview
, вы также можете добавитьвычисление одного DataGridViewCell
(ячеек) для правильного события. Но вы не заметите различий в производительности, если у вас много строк.
Вы также можете упростить синтаксис, используя определенные строки или ячейки, например:
DataGridViewRow dr;
dr = dgv.Rows(ir);
и применить его:
dr.Cells("Col1").value = result;
Кроме того, вы должны выполнять операциидля значений в DataTable
, установленных для DataGridView DataSource
, а не для самого DataGridView
. Чтобы избежать использования неправильных типов данных из-за производительности (когда у вас много строк) и т. Д.