0

配列のリストからDataGridViewにデータを入力したいという状況があります。各行には、単一の配列の値が含まれています。配列のサイズはユーザーの操作により動的に変化する可能性がありますが、リスト内のすべての配列は常に同じサイズです。

配列のサイズを反映するようにDataGridViewインスタンスの列を動的に調整でき、配列のインデックス( "1"、 "2"など)に基づいて列に名前を付けるだけです。ただし、DataGridViewで実際のデータを押し出して、行を更新できるようにする方法を知る必要があります。

BindingSourceを使用してデータソース(配列のリスト)とDataGridViewの間の仲介役として機能できることは理解していますが、必要なマッピングを実行するように設定する方法がわかりません。

ありがとう。

4

1 に答える 1

2

このような配列のセットがあると仮定しましょう(異なる場合がありますが、アイデアを得る必要があります)。

var row1 = new[] { "A", "B", "C" }
var row2 = new[] { "D", "E", "F" }

それでは、バインド可能なオブジェクトを作成しましょう。

DataTable table = new DataTable();
for (int i = 0; i < row1.Length; i++) { table.Columns.Add(i.ToString(), typeof(string)); }
table.LoadDataRow(row1, true);
table.LoadDataRow(row2, true);

次に、グリッドをバインドしましょう。

dataGridView.DataSource = table.DefaultView;
于 2012-09-26T17:28:17.270 に答える