这里介绍数据筛选的第一种方式,不用过滤器,给新手看得
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 > )
{
for (int i = ; i < Src.Rows.Count; i++)
{
string StrSql = string.Format("select * from Table where Id='{0}' and State ='0'", Src.Rows[i][]);
DataTable Ro = DBHelper.ExecuteQuery("SqlServer", StrSql);
if (Ro.Rows.Count == )
{
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里面的,可以调用数据模型把数据一条条的放进去,这算第二种方式,放到后面记录吧,这里就写这么多了,可以参考一下