c# - 如何将锯齿状数组绑定(bind)到 DataGridView 中?

标签 c# arrays .net winforms datagridview

我有包含不同类型数据(整数、字符串、 float )的二维数组。

如何将它绑定(bind)到数据 GridView ?

或者转换成数据View或者BindingList或者DataTable再绑定(bind)到datagridview?

编辑: Object[,] 是完全动态的数据(不同的行数、列数、数据类型。,如转储数据):(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 .锯齿状数组是其元素为数组的数组。交错数组的元素可以具有不同的维度和大小。锯齿状数组有时称为“数组的数组”。

要在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                    */

enter image description here

在上面的例子中,我还设置了这些属性:

grid.AllowUserToAddRows = false;
grid.AllowUserToDeleteRows = false;
grid.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCellsExceptHeader;

关于c# - 如何将锯齿状数组绑定(bind)到 DataGridView 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38236282/

相关文章:

Javascript 循环通过 JSON 对象数组

javascript - 如何判断请求是否应该呈现在服务器端? (ReactJS)

c# - 将 UI 线程的 TaskScheduler 存储在字段中是否安全?

c# - 自定义控件绑定(bind)不起作用

c++ - const vector<string> 还是 const string[]?

c# - 可空类型存储在内存中的什么位置?

c# - 进度条行为异常

arrays - 确定跨步数组是否重叠的算法?

c# - 获取 C# 方法体内使用的类型

asp.net - 如何使用带有返回类型的 System.Action?