当前位置: 首页 > news >正文

县工商局 网站建设网页制作百度百科

县工商局 网站建设,网页制作百度百科,深圳人才网站建设,wordpress 豆瓣电影前几天写了一篇sqlserver 行转列#xff0c;http://www.cnblogs.com/li-peng/archive/2012/02/01/2334973.html 由于工作需要#xff0c;要把查出来的DataTable实现 行转列#xff0c; 正好这一阵子在用Linq 就做了一个行转列的小例 子 转换前的table: 转换后的table: 代码… 前几天写了一篇sqlserver  行转列http://www.cnblogs.com/li-peng/archive/2012/02/01/2334973.html 由于工作需要要把查出来的DataTable实现 行转列 正好这一阵子在用Linq 就做了一个行转列的小例 子 转换前的table: 转换后的table:  代码里有详细的说明 还有一些参数我都截图了下面有 using System;using System.Collections.Generic;using System.Data;using System.Linq;using System.Text;namespace ConvertToTable {class Program {static void Main(string[] args) {#region 添加一个表 DataTable _dt new DataTable(); _dt.Columns.Add(new DataColumn(staff_id, typeof(int)) { DefaultValue 0 }); //员工 id _dt.Columns.Add(new DataColumn(staff_Name, typeof(string)) { DefaultValue 1 }); //员工名字 _dt.Columns.Add(new DataColumn(staff_TiCheng, typeof(string)) { DefaultValue 1 });//员工提成规则 _dt.Columns.Add(new DataColumn(staff_TiChengAmount, typeof(double)) { DefaultValue 0 }); //提成钱数 _dt.Rows.Add(1, 小李, 零点提成, 60); _dt.Rows.Add(1, 小李, 订房提成, 70); _dt.Rows.Add(2, 小张, 零点提成, 500); _dt.Rows.Add(2, 小张, 订房提成, 60); _dt.Rows.Add(2, 小张, 订单提成, 800); _dt.Rows.Add(3, 小王, 零点提成, 30); _dt.Rows.Add(3, 小王, 订单提成, 900);#endregion//输出原始表 Console.WriteLine(原始表:); DisplayTable(_dt);//输出行转列以后的表 Console.WriteLine(转换以后的表:); DisplayTable(ConvertToTable(_dt)); Console.ReadLine(); }#region 转换表static DataTable ConvertToTable(DataTable source) { DataTable dt new DataTable();//前两列是固定的加上 dt.Columns.Add(staff_id); dt.Columns.Add(staff_Name);//以staff_TiCheng 字段为筛选条件 列转为行 下面有图 var columns (from x in source.Rows.CastDataRow() select x[2].ToString()).Distinct();//把 staff_TiCheng 字段 做为新字段添加进去 foreach (var item in columns) dt.Columns.Add(item).DefaultValue 0;// x[1] 是字段 staff_Name 按 staff_Name分组 g 是分组后的信息 g.Key 就是名字 如果不懂就去查一个linq group子句进行分组 var data from x in source.Rows.CastDataRow() group x by x[1] into gselect new { Key g.Key.ToString(), Items g }; data.ToList().ForEach(x {//这里用的是一个string 数组 也可以用DataRow根据个人需要用 string[] array new string[dt.Columns.Count];//array[1]就是存名字的 array[1] x.Key;//从第二列开始遍历 for (int i 2; i dt.Columns.Count; i) {// array[0] 就是 staff_id if (array[0] null) array[0] x.Items.ToListDataRow()[0][staff_id].ToString();//array[0] (from y in x.Items// where y[2].ToString() dt.Columns[i].ToString()// select y[0].ToString()).SingleOrDefault();//array[i]就是 各种提成 array[i] (from y in x.Itemswhere y[2].ToString() dt.Columns[i].ToString()// y[2] 各种提成名字等于table中列的名字 select y[3].ToString() // y[3] 就是我们要找的 staff_TiChengAmount 各种提成 的钱数 ).SingleOrDefault(); } dt.Rows.Add(array); //添加到table中 }); return dt; }/// summary/// 输出表/// /summary/// param namedt/param static void DisplayTable(DataTable dt) {//输出列的标题 dt.Columns.CastDataColumn().ToList().ForEach(x Console.Write(x \t)); Console.WriteLine();//输出每行的信息 dt.Rows.CastDataRow().ToList().ForEach(x { x.ItemArray.ToList().ForEach(y Console.Write(y.ToString() \t\t)); Console.WriteLine(); }); }#endregion } } //以staff_TiCheng 字段为筛选条件  列转为行  下面有图 //   x[1] 是字段 staff_Name y[2] 各种提成名字等于table中列的名字   本文转自lpxxn博客园博客原文链接http://www.cnblogs.com/li-peng/archive/2012/02/27/2370213.html如需转载请自行联系原作者
http://www.pierceye.com/news/175774/

相关文章:

  • 团队合作网站网站制作的报价大约是多少
  • 网站在线留言系统能挣钱的平台 正规的
  • 冀州网站制作泉州握旗公司网站建设
  • 免费php企业网站苏州网站建设多少钱
  • 重庆网站制作设计抚州网站建设
  • 国外psd网页模板网站免费学校网站管理系统
  • 网站开发合作合同范本电子商务营销渠道有哪些
  • 云南网站建设哪个好沈阳视频制作公司
  • 可以做公众号的一些网站企业级网站开发需求分析
  • 建设网站收费标准品牌网络推广公司排名
  • 网站怎么做动态背景图片营销型网站建设的优势有哪些
  • 专业网站制作软件网页设计五个页面
  • 个人网站的成本球形网架结构厂家
  • 顺德网站制作案例价位php做视频网站源码
  • 网站优化 无需定金公明网站制作
  • 安徽龙山建设网站wordpress 禁止twitter
  • 中卫市网站开发制作网页设计html代码大全颜色
  • 深圳网站建设伪静态 报价 jsp 语言新网站如何推广
  • 南京建设局网站首页wordpress 要求ftp
  • 百度站长 添加网站哪些网站可以上传自己做的视频
  • 网站开发的论文引言微信网站开发视频教程
  • 宁波网站制作出售爱南宁app下载官网最新版
  • 科技类公司名称大全常州网站关键词优化咨询
  • 共享ip服务器做网站如何把网站推广出
  • 网站开发标书范本免费模板下载网站推荐
  • 郑州品牌网站建设宿松县住房和城乡建设局网站
  • 电商网站开发与运营赣州爆炸事故
  • 牡丹区建设局网站黄骅贴吧最近发生的事
  • 手机一键建站北京公司网站建站
  • 做个简单网站大概多少钱广州联亨科技网站建设