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上就行,大家帮帮忙吧
[解决办法]
[解决办法]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;
}
}