以下のようなデータを含むデータテーブルがあります。
次のようにグリッドビューに表示したい。実際には上の表を転置したもので、製品の詳細を表示するために追加された 1 つの行がリンク ボタンになります。C# を使用して ASP.net で次の要件を達成する方法を教えてください。
どうもありがとう、Awais Afzal。
テーブルがであると仮定すると、そのDataTable
ような拡張機能を使用して次のように並べ替えることができます。
public static DataTable Pivot(this DataTable tbl)
{
var tblPivot = new DataTable();
tblPivot.Columns.Add(tbl.Columns[0].ColumnName);
for (int i = 1; i < tbl.Rows.Count; i++)
{
tblPivot.Columns.Add(Convert.ToString(i));
}
for (int col = 0; col < tbl.Columns.Count; col++)
{
var r = tblPivot.NewRow();
r[0] = tbl.Columns[col].ToString();
for (int j = 1; j < tbl.Rows.Count; j++)
r[j] = tbl.Rows[j][col];
tblPivot.Rows.Add(r);
}
return tblPivot;
}
そしてそれを新しいものとして設定しますDataSource
:
dataGridView1.DataSource = oldDataTable.Pivot();