如何将Object 绑定到datagridview?

我有二维数组与不同类型的数据(int,string,float)。

如何将其绑定到数据网格视图?

或者将其转换为数据View或BindingList或DataTable,然后将其绑定到datagridview?

编辑:对象[,]是完全动态的数据(不同的行,列,数据类型,类似转储数据):( Excel工作表)

[0,x]“kjslwe”3“w”45“erer”643“reew”“54”56 34

[1,y] 23“e”1“sf”123213“ds”343433

您没有使用2D Array ,而是使用Jagged Array 。 锯齿状数组是一个数组,其元素是数组。 锯齿状arrays的元素可以具有不同的尺寸和大小。 锯齿状数组有时被称为“数组数组”。

要在DataGridView显示锯齿状数组,您可以先计算所需的列数,然后设置网格的ColumnCount属性。 然后使用Rows集合的Add方法重载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;