Linq 實現 DataTable 行轉列

2022-02-18 14:23:30 字數 2199 閱讀 7844

前幾天寫了一篇sqlserver  行轉列

,由於工作需要,要把查出來的datatable實現 行轉列,

正好這一陣子在用linq 就做了乙個行轉列的小例 子

轉換前的table:

轉換後的table: 

**裡有詳細的說明,

還有一些引數我都截圖了下面有

using system;

using system.collections.generic;

using system.data;

using system.linq;

using system.text;

namespace converttotable

); //

員工 id

_dt.columns.add(new datacolumn("

staff_name

", typeof(string)) ); //

員工名字

_dt.columns.add(new datacolumn("

staff_ticheng

", typeof(string)) );//

員工提成規則

_dt.columns.add(new datacolumn("

staff_tichengamount

", typeof(double)) ); //

提成錢數

_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)

;data.tolist().foreach(x =>

dt.rows.add(array); //

新增到table中

});

return dt;

}///

///輸出表

//////

static

void displaytable(datatable dt));}

#endregion

}}

//以staff_ticheng 欄位為篩選條件  列轉為行  下面有圖

//   x[1] 是字段 staff_name

y[2] 各種提成名字等於table中列的名字

Linq實現DataTable行轉列

由於工作需要,要把查出來的datatable實現 行轉列,正好這一陣子在用linq 就做了乙個行轉列的小例 子 轉換前的table 轉換後的table 裡有詳細的說明,還有一些引數我都截圖了下面有 using system using system.collections.generic using...

DataTable 中,應用Linq文

linq文通常用於代替sql文進行資料查詢。其簡潔和舒服的表達形式,深受本人喜愛。最近在普通的物件資料操作時,也用類似的方法進行操作。var sumrows dt.copy select tolist groupby m new tolist dt.clear sumrows.foreach m d...

Linq查詢datatable的記錄集合

通過linq查詢datatable資料集合滿足條件的資料集 1.首先定義查詢欄位的變數,比方深度 string strdepth 查詢深度的值 var datarows from datarow in datatable 須要查詢的datatable資料集 asenumerable where st...