从DataGridView获取DataTable,尊重filter和排序
我有一个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是readonly所以我唯一需要的是尊重订单和使用的filter,并将数据导出到DataTable
。
有人可以帮帮我吗?
如果我理解正确,您需要将DataGridView
显示的过滤行显示为DataTable。 您可以为此目的使用DataTable.DefaultView属性 ,其中包括所有filter。
试试这个
BindingSource bs = (BindingSource)dataGridView1.DataSource; DataTable table = (DataTable)bs.DataSource; DataTable filtered = table.DefaultView.ToTable();// here we get filtered datatable