次のようなテーブルがあります。
Name Hours
Mark 10
Mark 15
Mark 10
Mark 13
Albert 11
Albert 12
Max 10
Max 13
このデータは、グリッドビューのデータソースであるデータテーブルに存在します。可能であれば、データテーブルを反復処理して、名前フィールドが変更されたときに行を挿入したいと思います。このような:
Name Hours
Mark 10
Mark 15
Mark 10
Mark 13
Albert 11
Albert 12
Max 10
Max 13
foreach ループを使用してこのデータテーブルを反復処理し、名前が変更された時点で行を挿入することはできますか? または、目的の結果を得る別の方法はありますか?
ご指摘ありがとうございます。
編集:これまでの私のコード:
var counter = 0;
var holdName = "";
// looping through datatable dt.
foreach (DataRow row in dt.Rows)
{
//compare name from dt to hold name
//if different
// insert blank row
// change hold name to new name
//continue looping
}
gridview1.Datasource = dt;
gridview1.DataBind();
ただし、問題は、ループ内で保留名を設定するのが難しいことです。最初にループの「外側」に設定してから、ループ内でチェックする必要があるようです。問題は、データテーブルの最初のレコードを取得せずに名前を知る方法です。おそらく、それが私の答えですか?最初のレコードを取得し、その名前をホールド名変数に入れ、foreach ループを開始しますか?