あなたがDataTable
とスワップ列と行をこのように回転させる方法で作成することができます。そして、あなたは元のテーブルを回転させるためにそれを使用することができます
public DataTable Rotate(DataTable table)
{
var output = new DataTable();
int i = 1;
output.Columns.Add(" ");
foreach (DataRow r in table.Rows)
output.Columns.Add((i++).ToString());
foreach (DataColumn c in table.Columns)
{
var list = new List<object>();
list.Add(c.ColumnName);
var x = table.AsEnumerable().Select(r => string.Format("{0}", r[c])).ToArray();
list.AddRange(x);
output.Rows.Add(list.ToArray());
}
return output;
}
を:
回転タブレットE:
かさえ、このようないくつかの簡単なトリックを持つ:それはだ場合にも
var dt = new DataTable();
dt.Columns.Add("Id", typeof(int));
dt.Columns.Add("Name", typeof(string));
dt.Columns.Add("Date", typeof(DateTime));
dt.Rows.Add(100, "A", DateTime.Now);
dt.Rows.Add(200, "B", DateTime.Now.AddDays(1));
dt.Rows.Add(300, "C", DateTime.Now.AddDays(2));
dt.Rows.Add(400, "D", DateTime.Now.AddDays(3));
this.dataGridView1.DataSource = dt;
this.dataGridView2.DataSource = Rotate(dt);
//To hide column headers and show Id,Name,Date on rows headers, un-comment following codes:
//dataGridView2.ColumnHeadersVisible = false;
//dataGridView2.Columns[0].Visible = false;
//for (int i = 0; i < dataGridView2.Rows.Count; i++)
// dataGridView2.Rows[i].HeaderCell.Value = dataGridView2.Rows[i].Cells[0].Value;
:ここ
私は例を作成するために使用されるコードでありますレポートの目的のために、rdlcレポートのためのソリューションはここにあります:[RDLCレポートのリストレポート項目を水平に繰り返す方法](http://stackoverflow.com/q/37 623052/3110834) –
あなたの質問に回答が投稿されたようですが、解決策を適用する際に問題がある場合、または役に立つと分かっている場合はお知らせください:) –
ありがとうございました。その完全に動作します。 –