hashtable 排序问题
帮忙看下下面这段代码,我应该怎么改合适,实现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);
}
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);
}
...全文
相关推荐
HashMap,HashTable,LinkedHashMap,TreeMap的区别
HashTable 是线程安全的,所有操作都是同步的,以避免并发访问引起的数据不一致问题。HashTable 不允许键或值为 Null。
详解如何选择使用ArrayList、HashTable、List、Dictionary数组
为了解决这个问题,.NET 2.0推出了Dictionary<T,T>,这是一个泛型版本的哈希表,提高了性能且无需装箱和拆箱。Dictionary<T,T>适用于需要频繁通过键查找值的场景。
Java中Map的排序问题详解
在Java编程语言中,Map接口提供了多种实现,每种实现有着不同的特性和使用场景,其中涉及到排序的问题主要涉及HashMap、Hashtable、LinkedHashMap和TreeMap。
C#_集合类_Array,Arraylist,List,Hashtable,Dictionary,Stack,Queue_学习资料
它使用哈希表结构,提供快速的键查找,但不保证键的排序。在多线程环境中,如果需要线程安全,可以考虑使用Hashtable。
C#判断单词个数方法总结
"C#判断单词个数方法总结"本文总结了C#中判断英文单词个数的方法和排序技巧,提供了两个不同的方法来解决这个问题。1.


