通过ui

时间:2015-08-19 11:46:15

标签: c# .net datagridview datagrid

我在UI上用列构建了一个datagridview,

我添加了一个按钮,尝试将数据源转换为数据表。

datagridview绑定到bindingsource,绑定到新数据表。

在ui上添加值并单击按钮后,我尝试从数据源获取数据表,但它保持为null。

BindingSource b = new BindingSource();
b.DataSource = new DataTable();
grdView.DataSource = b;

public void OnButtonClick()
{
    BindingSource b = (BindingSource)grdView.DataSource;
    DataTable dt = b.DataSource;
    // dt keeps be null (but count is the count of the added rows)
}

1 个答案:

答案 0 :(得分:0)

来自MSDN

  

DataSource属性可以设置为多个数据源,   包括类型,对象和类型列表。结果数据   来源将作为列表公开

数据源是List,而不是DataTable。这可能是为什么它有一个计数,但dt最终为空。 使用BindingSource的原因是,您无需通过UI组件(网格)即可访问数据。如果你想要数据,从BindingSource获取数据,不要从网格中获取数据。