当您允许网格控件自动生成列时,它将基本上枚举该对象的属性并为每个列创建一个列。无法知道您想将其显示为数组值的网格。
您需要从数组中创建一个新对象(例如一个类的可枚举列表),并使用要作为列绑定到的属性。做到这一点的一种快速方法是使用匿名类型,使用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个字符串的数组。我们从这两个字符串中创建一个匿名类型。这种类型有两个属性:Col1
和Col2
。 Col1
将被设置为数组索引0,并且Col2
将被设置为数组索引1.然后,我们将构建网格以匿名类型的枚举。这将是这个样子:
当然,你可以定义究竟如何列将通过设置AutoGenerateColumns
为False被创建,并填充Columns
集合。这可以在你的ASPX文件中以声明方式完成。
你希望如何看到,信息进入GV? – 2013-03-01 20:18:34
您的XAML对于DataGrid控件的外观如何? – ryrich 2013-03-01 20:23:12
对于[x] [y]我希望每一行代表[X] ...和列代表[Y],这样[2] [5]的内容将显示在数据网格中的第2排,第5列。 – phan 2013-03-01 20:23:57