DataTable 在asp.net中也是常客了
因为以前 排序什么的都是用SQL语句在查询的时候就进行排序了
但这次 是对字符串进行排序(如图)
变成
这样(截图不一样大看着好别扭)
我的思路——很简单QWQ 毕竟脑子这东西我缺的很
看下代码就应该懂了
private DataTable changeDt(DataTable dt)
{
DataTable dt1 = dt.Copy();
DataTable dt2 = dt.Copy();
DataTable dt3 = dt.Copy();
DataTable dt4 = dt.Copy();
DataTable dt5 = dt.Copy();
dt1.Clear();
dt2.Clear();
dt3.Clear();
dt4.Clear();
dt5.Clear();
for (int i = 0; i < dt.Rows.Count; i++)
{
switch (dt.Rows[i][0].ToString())
{
case "星期一":
dt1.ImportRow(dt.Rows[i]);
break;
case "星期二":
dt2.ImportRow(dt.Rows[i]);
break;
case "星期三":
dt3.ImportRow(dt.Rows[i]);
break;
case "星期四":
dt4.ImportRow(dt.Rows[i]);
break;
case "星期五":
dt5.ImportRow(dt.Rows[i]);
break;
}
}
dt.Clear();
for (int i = 0; i < dt1.Rows.Count; i++) {
dt.ImportRow(dt1.Rows[i]);
}
for (int i = 0; i < dt2.Rows.Count; i++)
{
dt.ImportRow(dt2.Rows[i]);
}
for (int i = 0; i < dt3.Rows.Count; i++)
{
dt.ImportRow(dt3.Rows[i]);
}
for (int i = 0; i < dt4.Rows.Count; i++)
{
dt.ImportRow(dt4.Rows[i]);
}
for (int i = 0; i < dt5.Rows.Count; i++)
{
dt.ImportRow(dt5.Rows[i]);
}
return dt;
}
这里说一下用到的3个方法
dt.Copy(); 拷贝dt的列
dt.Clear();清除dt中的数据
dt.ImportRow(dt1.Rows[i]) 将dt1中的第i行复制到dt中
这个方法很容易理解 但是代码太冗余