グリッド コントロールが列を自動生成できるようにすると、基本的に、そのオブジェクトのプロパティを列挙し、それぞれの列を作成します。これを配列値のグリッドとして表示することを知る方法はありません。
列としてバインドするプロパティを使用して、配列から新しいオブジェクト (クラスの列挙可能なリストなど) を作成する必要があります。これを行う簡単な方法は、LINQ クエリを使用して構築された匿名型を使用することです。何かのようなもの:
string[][] Array = new string[100][];
for(int i = 0; i < 100; i++) // Set some values to test
Array[i] = new string[2] { "Value 1", "Value 2" };
dataGridView.DataSource = (from arr in Array select new { Col1 = arr[0], Col2 = arr[1] });
Page.DataBind();
ここでは、配列の 100 個の要素すべてを繰り返し処理しています。各要素は 2 つの文字列の配列です。これら 2 つの文字列から匿名型を作成しています。この型には と の 2 つのプロパティがCol1
ありCol2
ます。 Col1
配列インデックス 0 にCol2
設定され、配列インデックス 1 に設定されます。次に、その匿名型の列挙に合わせてグリッドを構築します。これは次のようになります。
AutoGenerateColumns
もちろん、False に設定して列を作成する方法を正確に定義し、Columns
コレクションに入力することもできます。これは、ASPX ファイル内で宣言的に行うこともできます。