我有二维数组,包含不同类型的数据(int,string,float)。
如何将其绑定到数据网格视图?
或者将其转换为数据View或BindingList或DataTable,然后将其绑定到datagridview?
编辑: Object [,]是完全动态的数据(不同的行,列,数据类型,类似转储数据):( Excel工作表)
[0,x]“kjslwe”3“w”45“erer”643“reew”“54”56 34
[1,y] 23“e”1“sf”123213“ds”343433
答案 0 :(得分:1)
您没有使用2D Array
,而是使用Jagged Array
。锯齿状数组是一个数组,其元素是数组。锯齿状阵列的元素可以具有不同的尺寸和大小。锯齿状数组有时被称为“数组数组”。
要在DataGridView
中显示锯齿状数组,您可以先计算所需的列数,然后设置网格的ColumnCount
属性。然后使用Add
Rows
网格集合的重载来添加行,该网格接受param object[]
。例如:
object[][] data = new object[][]{
new object[] {"kjslwe", 3, "w", 45, "erer", 643, "reew", "54", 56, 34},
new object [] {23, "e", 1, "so", 123213, "ds", 343433}
};
var columns = data.Max(x => x.Count()); /* Calculate number of columns */
grid.ColumnCount = columns; /* Set column count of grid */
data.ToList().ForEach(x => grid.Rows.Add(x)); /* Add rows */
在上面的例子中,我还设置了这些属性:
grid.AllowUserToAddRows = false;
grid.AllowUserToDeleteRows = false;
grid.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader;