2

我有一个System.Windows.Forms.DataGridView充满数据的。我正在使用这样的代码:

System.Data.DataTable dataTable1;
System.Windows.Forms.BindingSource bindingSource1;
System.Windows.Forms.DataGridView dataGridView1;

// (...)

bindingSource1.DataSource = dataTable1;

dataGridView1.DataSource = bindingSource1;

bindingSource1.Filter = "Some Filter Here";

我现在需要的是恢复dataGridView1. 但这不需要很复杂。我的 dataGridView1 是只读的,所以我唯一需要的是尊重使用的顺序和过滤器,并将数据导出到DataTable.

任何人都可以帮助我吗?

4

1 回答 1

7

如果我理解正确,您需要将过滤后的行显示DataGridView为 DataTable。为此,您可以使用DataTable.DefaultView 属性,其中包括所有过滤器。

尝试这个

BindingSource bs = (BindingSource)dataGridView1.DataSource;
DataTable table = (DataTable)bs.DataSource;
DataTable filtered = table.DefaultView.ToTable();// here we get filtered datatable
于 2013-08-08T13:29:38.820 回答