我们可以使用datagridview作为数据源吗?

时间:2011-08-11 08:47:18

标签: c# ado.net datagridview

我正在尝试将dataGridView设置为其他datagridview的数据源,但它无效。请帮帮我。

this.dataGridView2.DataSource = this.dataGridView1;

没有编译器错误,但也无法正常工作。

2 个答案:

答案 0 :(得分:1)

this.dataGridView2.DataSource = this.dataGridView1;

这将显示没有编译错误,因为this.dataGridView2.DataSource期望一种类型的对象,并且您正在为其分配一个对象,但是没有为此分配数据源

 this.dataGridView2.DataSource = this.dataGridView1.DataSource 

像这样分配

解决在第一次更改数据时更改数据网格中的数据的问题

试试这个

            DataTable dt = (DataTable)dataGridView1.DataSource;
            dataGridView2.DataSource = dt.Copy();

答案 1 :(得分:0)

@Nighil听起来很接近,我不知道这对你是否有用,但我不建议使用dataGridView作为数据源,我建议你应该将逻辑保持数据与用户控件分开,同时使用'BindingSource'为您提供了一种简单的数据刷新方法;

假设我们有一个名为'getTablefromDatasource()'的方法,该方法显示数据并返回'DataTable'

DataTable table = getTablefromDatasource();
BindingSource source = new BindingSource();
dataGridView1.DataSource = source;
dataGridView2.DataSource = source;

然后您可以使用以下内容刷新数据:

source.ResetBindings(false);