一个DataTable的行列转换代码
来源:互联网 发布:知乎专栏打不开 编辑:程序博客网 时间:2024/05/12 15:45
public static void Main()
{
DataTable dt = new DataTable();
dt.Columns.Add("name");
dt.Columns.Add("type");
dt.Columns.Add("relt");
for (int i = 0; i < 4; i++)
{
DataRow dr = dt.NewRow();
dr["name"] = "name" + i;
dr["type"] = "type" + i;
dr["relt"] = "relt" + i;
dt.Rows.Add(dr);
}
DisplayTable(dt);
Console.WriteLine("/r/n =====> 进行行列转换 /r/n");
DisplayTable(ColumnToRow(dt, 0));
Console.ReadLine();
}
public static DataTable ColumnToRow(DataTable src_dt, int columnIndex) //columnIndex 用来当作新列名的列
{
DataTable dt = new DataTable();
dt.Columns.Add(src_dt.Columns[columnIndex].ColumnName);
foreach (DataRow dr in src_dt.Rows)
dt.Columns.Add(dr[columnIndex].ToString());
int n = src_dt.Columns.Count;
for (int i = 0; i < n; i++)
{
if (i == columnIndex) continue; //如果是被当作列名的列,则跳过
DataRow new_dr = dt.NewRow();
string columnName = src_dt.Columns[i].ColumnName;
new_dr[0] = columnName;
foreach (DataRow dr in src_dt.Rows)
{
string newColumnName = dr[columnIndex].ToString();
new_dr[newColumnName] = dr[columnName];
}
dt.Rows.Add(new_dr);
}
return dt;
}
name type relt
name0 type0 relt0
name1 type1 relt1
name2 type2 relt2
name3 type3 relt3
=====> 进行行列转换
name name0 name1 name2 name3
type type0 type1 type2 type3
relt relt0 relt1 relt2 relt3
- 一个DataTable的行列转换代码
- 一个DataTable的行列转换代码
- DataTable的行列转换
- DataTable的行列转换
- DataTable 行列转换
- DataTable-行列转换
- sharepoint Datatable 行列转换
- DataTable行列转换
- 一个行列转换的问题
- 一个典型的行列转换
- 一个经典的行列转换的例子
- 一个SQL语句的问题:行列转换
- 一个SQL行列转换的例子
- 一个SQL语句的问题:行列转换
- 一个简单的SQL 行列转换
- oracle 一个有趣的行列转换问题
- oracle 一个有趣的行列转换问题
- SAP行列转换的一个方法
- 设计模式时的相关原则
- cacti中监控内存的模板
- 103条XP运行命令
- 解决Ubuntu中Flash乱码
- SMARTFORMS 打印多少条数据 计数器
- 一个DataTable的行列转换代码
- log4j配置详解
- 如何让润乾报表 不分页
- 人不可以把钱带进坟墓,但钱可以把人带进坟墓(仅供娱乐)
- SQL中when/case实例
- 简单背包问题
- 获取第n行数据
- Web测试要点
- VC无负担实现XP风格界面