這里介紹數據篩選的第一種方式,不用過濾器,給新手看得
public DataTable SourceList(string Wmain, string OrderNo, string Process) { DataTable Src = HandleProc.SourceList(Wmain, OrderNo, Process); DataTable Dt = new DataTable(); Dt = Src.Clone(); List<string> ArrayList = new List<string>(); if (Src.Rows.Count > 0) { for (int i = 0; i < Src.Rows.Count; i++) { string StrSql = string.Format("select * from Table where Id='{0}' and State ='0'", Src.Rows[i][0]); DataTable Ro = DBHelper.ExecuteQuery("SqlServer", StrSql); if (Ro.Rows.Count == 0) { Dt.ImportRow(Src.Rows[i]); } else { continue; } } } return Dt; }
當時考慮到要篩選出我需要的數據,並且這里的數據量還是一條以上,比如我去判斷一個用戶組里面,所有登錄的人的信息
這里我先調一個存儲過程把所有這個用戶組的數據先取到DataTable里,然后進行條件篩選,再存到另外一個DataTable里面
這里為了保持兩個DataTable一致,我就去克隆我取到的DataTable
DataTable Src = HandleProc.SourceList(Wmain, OrderNo, Process); DataTable Dt = new DataTable(); Dt = Src.Clone();//這里克隆數據,不然會報錯
記得從一個DataTable中取一部分數據到另外一個DataTable中必須進行克隆操作,否則會存不進去
符合篩選條件的可以放到另外一個DataTable中
這里本來我想放到List里面的,可以調用數據模型把數據一條條的放進去,這算第二種方式,放到后面記錄吧,這里就寫這么多了,可以參考一下
