hashtable 排序问题

0 1看天下 2012-08-03 11:27:49
帮忙看下下面这段代码,我应该怎么改合适,实现dt 按查询的数据的原先顺序排序
DataTable source = ds.Tables[0];//日期
DataTable user = ds.Tables[1];//用户
DataTable dt = new DataTable();//显示dt

dt.Columns.Add(new DataColumn("user"));
foreach (DataRow var in source.Rows)
{
DataColumn newcolumn = new DataColumn(var["SDATE"].ToString());
newcolumn.Caption = var["SDATE"].ToString();
newcolumn.DataType = typeof(bool);
newcolumn.DefaultValue = false;
dt.Columns.Add(newcolumn);
}

DataTable db = ds.Tables[2];//查出的日志信息
System.Collections.Hashtable hasTable = new System.Collections.Hashtable();
foreach (DataRow var in user.Rows)
{
string keys = var["name"].ToString();
DataRow row = dt.NewRow();
row["user"] = keys;
hasTable.Add(keys, row);
}
foreach (DataRow var in db.Rows)
{
string keys = var["name"].ToString();
DataRow userRow = null;
if (hasTable.ContainsKey(keys))
{
userRow = hasTable[keys] as DataRow;
}
else
{ }
userRow[var["DIARYDATE"].ToString()] = (var["auditstatus"].ToString() == "1");
}

foreach (DataRow var in hasTable.Values)
{
dt.Rows.Add(var);
}
...全文
105 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
maidou_6 2012-08-03
  • 打赏
  • 举报
回复
直接对 dt 建立 DataView
用视图来排序吧。
qldsrx 2012-08-03
  • 打赏
  • 举报
回复
hasTable 本来就不排序的,你怎么可能实现排序?
如果要按添加顺序(中间不存在删除),那么可以用Dictionary<String,Object>
0 1看天下 2012-08-03
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
直接对 dt 建立 DataView
用视图来排序吧。
[/Quote]用DataView 排序 ? 能告诉我 具体怎么排吗?

0 1看天下 2012-08-03
  • 打赏
  • 举报
回复
是的 用Dictionary 替换确实可以还有木有更好的方法呢
Dictionary<string, object> dict = new Dictionary<string, object>();
//添加用户键到hashtable
foreach (DataRow var in user.Rows)
{
string keys = var["name"].ToString();
DataRow row = dt.NewRow();
row["用户"] = keys;
dict.Add(keys, row);
}
foreach (DataRow var in db.Rows)
{
string keys = var["name"].ToString();
DataRow userRow = null;
if (dict.ContainsKey(keys))
{
userRow = dict[keys] as DataRow;
}
else
{ }
userRow[var["DIARYDATE"].ToString()] = (var["auditstatus"].ToString() == "1");
}

foreach (DataRow var in dict.Values)
{
dt.Rows.Add(var);
}

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧