私はWindows DataGridViewを持つ必要がありますC#構造体のデータを表示します。誰かが私に覚えている事例を知っていますか?インターネット上のすべての例では、SQLデータベース、Oracleデータベース、またはAccessデータベースが使用されています。しかし、DataGridViewにデータを入れるための行数が少なく、列数が少ないC#テーブルのような構造体が必要です。
ありがとう
回答:
回答№1は1はい、リストなどのIEnumerableアイテムにバインドすることができます
http://msdn.microsoft.com/en-us/library/y0wfd4yz%28v=vs.90%29.aspx
WinForms DataGridView - リストプロパティを持つオブジェクトへのデータバインド(列数が可変)
いくつかのリンク
回答№2の場合は1
DataGridViewsは、ローカルに格納されたBindingList(http://msdn.microsoft.com/en-us/library/ms132679%28v=vs.110%29.aspx)をデータソースとして使用します。
回答№3の場合は1
あなたの質問の私の理解。
はい、これはdatatableで可能です。 Datable行は1つずつ繰り返し、DataGridviewに直接割り当てます。
ここで私は一例を挙げます:
foreach (DataRow rows in dt.Rows)
{
int n = dataGridView1.Rows.Add();
dataGridView1.Rows[n].Cells[0].Value = rows[0].ToString();
dataGridView1.Rows[n].Cells[1].Value = rows[1].ToString();
dataGridView1.Rows[n].Cells[2].Value = rows[2].ToString();
dataGridView1.Rows[n].Cells[3].Value = rows[3].ToString();
}
回答№4の場合は1
他にも指摘されているように、DataGridView(DGV)を使用して、バインドされていない、またはバインドされた方法で作業することができます。
私の好みは常にバインドモードを使うことです。このメソッドを使用すると、DGV内部(ほとんどの場合)を無視することができます。グリッドがバインドされている基底のデータを変更して、Windowsフォームのデータバインディングメカニズムを機能させることができます。
私がDGVの内部構造を理解できないと言うと、DGVイベントを処理してデータを出し入れする必要はありません。
他の人に言及されているように、DGVをIEnumerableを実装するものにほとんどバインドすることができます。したがって、カスタムオブジェクトのリストがある場合、DGVはそれをデータソースとして使用します。
私はあなたがこれでうまくいくことを願っています。
乾杯