前面说过使用DataTable组织数据库数据:http://blog.csdn.net/yysyangyangyangshan/article/details/7265362。组织好数据后自然是放在了内存中,那么如何再对这些数据进行操作呢?下面简单介绍下利用DataTable的属性进行常用的排序、搜索、合并的操作。
说明:为了代码统一,假设所有的操作对象都是DataTable类型的,且引用dataTable有值。(在实际应用中也一样,尽量都转换成DataTable型)
DataTable dataTable;
1、排序
1.1、利用查询排序
DataRow[] dataRows = dataTable.Select("条件", "id asc");
//或多列排序
DataRow[] dataRows = dataTable.Select("条件", "id asc,name asc,...");
//对所有的进行排序
DataRow[] dataRows = dataTable.Select("1=1", "id asc,name asc,...");
1.2、默认视图排序
DataView dataView = dataTable.DefaultView;
dataView.Sort = "id asc";
dataTable = dataView.ToTable();
2、搜索
如果单纯搜索,
DataRow[] dataRows = dataTable.Select("条件");
或者
int id;
string name;
DataRow[] dataRows = dataTable.Select(string.Format(@"id={0} and name={1}",id,name));
如果对搜索结果排序,如同1.1。
说明:select方法如同sql语句对单表的查询,条件如同sql语句的where之后的部分,>,<,=,LIKE等都可以使用。
3、合并
合并的对象必须结构要一致,如果不一致先转换一致。然后,利用Merge方法,
DataTable dataTable1 = null;
DataTable dataTable2 = null;
dataTable1.Merge(dataTable2);
相关的DataTable的操作有,
行的初始化:http://blog.csdn.net/yysyangyangyangshan/article/details/7021107。
数组转DataTable:http://blog.csdn.net/yysyangyangyangshan/article/details/6947024。