/// <summary>
/// 将DataTable的第二列的值转化为列(即将原来的行表,转化成交叉表,没有对应值则默认0)贾世义
/// </summary>
/// <param name="dt">必须三列,第三列为值</param>
/// <returns></returns>
public static DataTable GetCrossTable(DataTable dt)
{
if (dt == null || dt.Columns.Count != 3 || dt.Rows.Count == 0)
{
return dt;
}
else
{
DataTable result = new DataTable();
result.Columns.Add(dt.Columns[0].ColumnName, dt.Columns[2].DataType);
DataTable dtColumns = dt.DefaultView.ToTable("dtColumns", true, dt.Columns[1].ColumnName);
foreach (DataRow drColumnsRow in dtColumns.Select("", dt.Columns[1].ColumnName))
{
string colName = GetValue(drColumnsRow[0]);
if (String.IsNullOrEmpty(colName))
{
colName = "无列名";
}
result.Columns.Add(colName);
result.Columns[result.Columns.Count - 1].DefaultValue = 0;
}
DataRow drNew = result.NewRow();
drNew[0] = dt.Rows[0][0];
string rowName = drNew[0].ToString();
foreach (DataRow dr in dt.Rows)
{
string colName = dr[1].ToString();
if (rowName.Equals(dr[0].ToString(), StringComparison.CurrentCultureIgnoreCase))
{
drNew[colName] = dr[2];
}
else
{
result.Rows.Add(drNew);
drNew = result.NewRow();
drNew[0] = dr[0];
rowName = drNew[0].ToString();
drNew[colName] = dr[2];
}
}
result.Rows.Add(drNew);
return result;
}
}
分享到:
相关推荐
C#+屏幕录像+源代码C#+屏幕录像+源代码C#+屏幕录像+源代码C#+屏幕录像+源代码C#+屏幕录像+源代码C#+屏幕录像+源代码
C#集合与字符窜处理C#集合与字符窜处理(源代码)C#集合与字符窜处理C#集合与字符窜处理(源代码)C#集合与字符窜处理C#集合与字符窜处理(源代码)
利用C#实现求行列式,求逆矩阵的源代码。(加边法递归求解)
C# 学生成绩管理系统源代码
c# 7参数转换源代码 c# 7参数转换源代码
C#文本编辑器源代码 C#源代码 文本编辑器源代码 程序 应用文本编辑 字体 颜色改变 课程练习必备
c#与485MODBUS串口通信源代码,通过串口读取设备数据,c#的源代码,比如读取PLC数据(AD采集的或设置的),可以控制PLC(支持MODBUS)动作,485通信可以达到500M(稳定通信),也可和单片机通信,我资源里有关于8051...
精通C#(第6版)源代码
C# MES_开源源代码
c# 桌面软件, 文字检索处理,带几十万字词数据库,0.1秒以下检索速度优化,递归算法控件状态保存和载入。图片添加删除移动缩放处理。自定义控件添加删除移动等使用。用一个xml当数据库文件。提供源代码。
C# Spy++的源代码 C# Spy++的源代码
4.C#文本加密解密算法示例源代码.rar 5.C#在开机时自动启动程序.rar 6.C#自定义皮肤.rar 7.CS聊天程序.rar 8.WPF模拟Windows+7气象源码.rar 9.玻璃按钮.rar 10.导出Excel格式.rar 11.导出excel列表.rar 12.动态创建...
C# HELLOW示例,YIELD示例,XML注释示例,不安全代码示例,OLEDB示例,版本控制示例,线程示例,数组示例,属性示例,可空类型示例,事件示例,代理示例,类库示例,COM平台示例,安全性示例,结构示例,特性示例,运算符重载示例,命...
提供了益智类游戏、控制类游戏、棋牌类游戏以及其它类游戏的C#的开发源代码,是C#初学者甚至更高级专业人员的练手必备之作。
c#图形处理源代码,C#图形处理书籍源码
C#简易进制转换源代码 供大家参考与学习
c#图形图象处理源代码案例,非常好的
基于C#平台的高斯投影转换源代码
c#开发技术大全源代码(全) 共31章 每章的实例都在光盘里
用微软的解码技术+C# 写的一款音乐播放器,支持拖放效果 本人是用vs2010写的,用的是2.0环境,如果有什么不可用的地方请与本人联系QQ:29992379 拿了人家的积分,一定要服务到家