DataGridViewに「No」という列があったとして、
// 行数をカウント
int count = RowsCount();// Noを振り直す
for (int i = 0; i < count; i++)
{
dgv[0, i].Value = i;
}
とか、もしくは‥
// Noを振り直す
int i = 0;
foreach (ar item in dgv.Rows)
{
dgv[0, i].Value = i;
i++
}
とかで可能な訳ですが、これはあくまでDataGridVIew上の並び順で値を0から入力していきます。
例えば列ヘッダーをクリックして昇順ソートした状態で実行すると、ソートされた並び順で番号が入力されていってしまいます。
つまり、内部データである DataTable での並び順と一致しなくなってしまいます。
なので DataTableの行情報にアクセスして値を書き替えてあげる必要があります。
このような感じ。
// Noを振り直す
int i = 0;foreach (DataRow r in taskDataSet.taskDataTable.Rows)
{
r["No"] = i;
i++;
}
といった感じで実行することで、うまくいきました。