【问题标题】:Binding array of list<object> to 2-dimensional datagridview将 list<object> 的数组绑定到二维 datagridview
【发布时间】:2016-09-15 06:06:16
【问题描述】:

我正在尝试将 Master_Transaction_List(它是一个列表数组)绑定到 datagridview。目前,当 list[] 在运行时绑定到 datagridview 时,只显示一列(并且它似乎是每行的列数,而不是实际数据)。

dh.Fill_Master_Transaction_List("SELECT * FROM transactions_dumpfile WHERE Tran_Price=8000;");
dataGridView1.DataSource = dh.Master_Transaction_List;

类 dh 根据此查询使用 MySQL 表中的相关数据填充名为 Master_Transaction List 的公共列表 []。我可以看到查询运行良好,我的 list[] 数组是我所追求的正确的二维数据集; 16 列,约 1k 行。

但是,当我为数据网格设置数据源时,只显示一列;不显示数组每个成员的列表项中的数据,而是显示数组每个成员(即其中的每个列表)的列数。

问题可能是我对每个数组成员中的所有对象都使用“对象”数据类型吗? datagridview 对此敏感吗?我需要提前为它提供列的架构吗?

编辑:要清楚,这是 dh 中 Master_Transaction_List 的定义:

public List<object>[] Master_Transaction_List;

【问题讨论】:

    标签: c# list datagridview binding datareader


    【解决方案1】:

    来自MSDN

    DataGridView 类支持标准的 Windows 窗体 数据绑定模型。这意味着数据源可以是任何类型 实现以下接口之一:

    IList 接口, 包括一维数组

    IListSource 接口,如 DataTable 和 DataSet 类。

    IBindingList 接口,如 BindingList 类。

    IBindingListView 接口,如 BindingSource 类。

    尝试将外部数组转换为列表,将内部列表转换为数组。根据那个数组列表是可以的

    【讨论】:

    • 我没有想到这将不受支持,即使查看了文档以了解我在绑定方面做错了什么。感谢您的澄清。
    猜你喜欢
    • 2012-01-22
    • 1970-01-01
    • 2011-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-22
    • 2013-10-24
    • 1970-01-01
    相关资源
    最近更新 更多