2017-01-03 1 views
1

イメージを参照してください。行に格納されているSQLテーブルデータをデータグリッドビュー(C#Windowsフォーム)に列としてバインドする方法また、私は列[0]をハードコーディングされた列として作成しました。 SQLから来たこれらのデータを列1にバインドする必要があります。私を助けてください。前もって感謝します 。 :-)SQLテーブルの行に格納されているC#Windowsフォームグリッドビューの列にデータをバインドする方法

SQL Table Expecting C# Grid View

答えて

2

あなたが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; 
} 

を:

enter image description here

回転タブレットE:

enter image description here

かさえ、このようないくつかの簡単なトリックを持つ:それはだ場合にも

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; 
+1

:ここ

enter image description here

私は例を作成するために使用されるコードでありますレポートの目的のために、rdlcレポートのためのソリューションはここにあります:[RDLCレポートのリストレポート項目を水平に繰り返す方法](http://stackoverflow.com/q/37 623052/3110834) –

+0

あなたの質問に回答が投稿されたようですが、解決策を適用する際に問題がある場合、または役に立つと分かっている場合はお知らせください:) –

+0

ありがとうございました。その完全に動作します。 –

関連する問題