首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > CAD教程 >

DataSet行列转换,该如何处理

2012-03-07 
DataSet行列转换如题,比如我查询出来的DataSet结果是组织月份数据12011-121012011-112012010-123022011-12

DataSet行列转换
如题,比如我查询出来的DataSet结果是
组织 月份 数据
1 2011-12 10
1 2011-11 20
1 2010-12 30
2 2011-12 40
2 2011-11 50
2 2010-12 60 
3 2011-12 70
3 2011-11 80
3 2010-12 90
但是我想要的是
组织 2011-12 2011-11 2010-12
1 10 20 30
2 40 50 60
3 70 80 90
大家有什么方法没,转换之后赋给实体类也好,不赋也可以,只要能转换绑定到gridview上就行,大家帮帮忙吧

[解决办法]

探讨

笨方法就把DataSet内容循环一遍。在循环的过程中转一下写入一个新的DataSet中。然后绑定gridview。但有个问题。silverlight里你是怎么用的DataSet?

[解决办法]
DataTable tempDataTable = new DataTable();
tempDataTable = ds.Table("demotest");
DataTable dtData = new DataTable();
dtData.Columns.Add("组织", typeof(string));
Int16 i = default(Int16);
for (i = 0; i <= tempDataTable.Rows.Count - 1; i++) {
try {
dtData.Columns.Add(tempDataTable.Rows(i)("月份"), typeof(string));

} catch (Exception ex) {
}
}
DataRow drDataRow = null;
string OldValue = "";
Int16 j = -1;
for (i = 0; i <= tempDataTable.Rows.Count - 1; i++) {
if (OldValue == tempDataTable.Rows(i)("组织")) {
dtData.Rows[j][tempDataTable.Rows(i)("月份")] = tempDataTable.Rows(i)("数据");
} else {
drDataRow = dtData.NewRow();
OldValue = tempDataTable.Rows(i)("组织");
drDataRow["组织"] = OldValue;
drDataRow[tempDataTable.Rows(i)("月份")] = tempDataTable.Rows(i)("数据");
dtData.Rows.Add(drDataRow.ItemArray);
j = j + 1;
}
}

热点排行