方法一:DataSource綁定數據源必須為:DataTable
第一種情況:
DataView dv = this.gridView1.DataSource as DataView;
DataTable dt= dv.Table;
DataRow[] rows= dt.Select(this.gridView1.RowFilter); // RowFilter-->為列表中的篩選條件
第二種情況:
BindingSource dv = this.gvwResult.DataSource as System.Windows.Forms.BindingSource;
DataTable dt = dv.DataSource as DataTable;
DataRow[] filteredRows = dt.Select(this.gvwResult.RowFilter);
方法二:使用GridControl自帶的方法 -該方法通用
GridControl.DataController.GetAllFilteredAndSortedRows();
測試代碼:
//獲取到條件篩選以后的數據,判斷篩選后的數據是否為空 var printData = gvDeductDetail.DataController.GetAllFilteredAndSortedRows(); if (printData.Count == 0) { DevMessageBox.ShowMsg("篩選數據不可為空!!!!"); return; } //由於不能直接將printData強制轉換為List<TestModel>;所以循環數據添加到集合中 List<TestModel> listDetail = new List<TestModel>(); for (int i = 0;i<printData.Count;i++) { TestModel testModel = (TestModel)printData[i]; listDetail.Add(testModel); }