DataSetable dalam dataset, tidak perlu mengubah suai sumber data
Pengenalan
Bergantung pada sumber data, penapis data DataGridView mempunyai banyak cara. Walau bagaimanapun, apabila menggunakan atribut DataGridView.DataSource, penapisan dataset dataset akan membawa cabaran yang unik. Artikel ini membincangkan penyelesaian kepada masalah ini, yang membolehkan penapisan tanpa mengubah sumber data.
Gambaran keseluruhan soalan
DataTable terus ke datagridView (Contoh 1) membolehkan penggunaan databable.defaultview.rowfilter untuk menapis. Walau bagaimanapun, apabila dataset terikat kepada DataTable (Contoh 3), kaedah penapisan yang sama tidak akan mengemas kini datagridView. Ini kerana atribut DataGridView.DataSource ditetapkan ke dataset dan bukannya DataTable yang mendasari. Penyelesaian: Pastikan sumber data
Untuk menapis dataset dalam dataset tanpa menukar sumber data, kita boleh menggunakan kaedah berikut:
Gunakan atribut DataMember untuk mendapatkan dataset dari dataset:
<code class="language-csharp">DataTable table = (DataTable)dataGridView1.DataSource;</code>
<code class="language-csharp">table.DefaultView.RowFilter = string.Format("Field = '{0}'", textBoxFilter.Text);</code>
Kesimpulan
DataGridView Untuk menapis objek dataset dalam dataset perlu diikat secara langsung ke grid apabila ia terus terikat ke grid. Dengan menggunakan harta DataMember dan memohon penapis kepada DataTable yang mendasari, kami dapat menapis data dengan berkesan tanpa menjejaskan integriti sumber data.Atas ialah kandungan terperinci Bagaimana untuk Menapis Jadual Data dalam Set Data untuk DataGridViews tanpa Mengubah Suai Sumber Data?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!