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

私があなたを正しく理解していれば、フィルタリングされた行をDataGridViewDataTable として表示する必要があります。この目的のために、すべてのフィルターを含む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 に答える