假如我现在已经得到一个dataset了,我想写一个函数,获取该dataset中num1到num2这之间的记录public dataset getsth(dataset ds,int startindex,int endindex)
{}
效果如下:
已知的ds记录:
index 数据
0 AA
1 B
2 C
3 D
4 E
5 F执行函数getsth(ds,3,5)以后
得到另一个数据集ds1
ds1的数据如下
index 数据
0 D
1 E
2 F
{}
效果如下:
已知的ds记录:
index 数据
0 AA
1 B
2 C
3 D
4 E
5 F执行函数getsth(ds,3,5)以后
得到另一个数据集ds1
ds1的数据如下
index 数据
0 D
1 E
2 F
DataTable dt = new DataTable();
dt.Columns.Add("index", typeof(int));
dt.Columns.Add("value", typeof(string));
for (int i = 0; i < 6; i++)
{
DataRow dr = dt.NewRow();
dr[0] = i;
dr[1] = "A" + i;
dt.Rows.Add(dr);
} DataRow [] drs = dt.Select("index>=3 and index<=5");
DataTable dt2 = dt.Clone();
foreach(DataRow dr in drs)
{
dt2.ImportRow(dr);
}
//dt2就是你想要的了.
public ataTable GetTable(DataTable dt, int startindex, int endindex)
{
DataRow[] drs = dt.Select(string.Format("index>={0} and index<={1}",startindex,endindex));
DataTable dt2 = dt.Clone();
foreach (DataRow dr in drs)
{
dt2.ImportRow(dr);
}
return dt2;
}
/// 在数据信息中进行二次筛选
/// </summary>
/// <param name="dt">已查询出来的数据信息</param>
/// <param name="strWhere">再次筛选条件</param>
/// <returns>数据信息</returns>
public static DataTable DataFiltrate(DataTable dt,string strWhere)
{
DataRow[] drs = dt.Select(strWhere);
DataTable dts =new DataTable();
dts= dt.Clone();
foreach (DataRow dr in drs)
{
dts.ImportRow(dr);
}
return dts;
}
sortOrder格式为:字段名 DESC(降序) 或 字段名 ASC(升序)
..
ds.Tables[0].Rows[i][j].ToString