C# DevExpress中獲取GridControl列表中篩選后的數據


方法一: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);
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM