DataTable行列轉置,實現橫向顯示資料記錄

2021-05-23 23:40:48 字數 785 閱讀 3735

例子:

班級  人數

1班   10 

2班   8 

3班   9 

4班   3 

5班   6

橫向班級 1班  2班 3班 4班 5班

人數  10    8    9     3     6 

在datatable中進行行列的轉置,所以先將您的資料都填充到datatable中。

假設您的原始datatale是dt,在dt後加入下面的語句

datatable dtnew = new datatable();

dtnew.columns.add("columnname", typeof(string));

for (int i = 0; i < dt.rows.count; i++)

dtnew.columns.add("column" + (i + 1).tostring(), typeof(string));

foreach (datacolumn dc in dt.columns)

datarow drnew = dtnew.newrow();

drnew["columnname"] = dc.columnname;

for (int i = 0; i < dt.rows.count; i++)

drnew[i + 1] = dt.rows[i][dc].tostring();

dtnew.rows.add(drnew);

經過上面的語句,您的dt就已經成功轉置了,你可以直接用它作為datagrid 或者gridview的資料來源。

Oracle 行列轉置

兩種簡單的行列轉置 1 固定列數的行列轉換 如student subject grade student1 語文 80 student1 數學 70 student1 英語 60 student2 語文 90 student2 數學 80 student2 英語 100 轉換為 語文 數學 英語 s...

SQL 行列轉置

我學會了第二種方法 sql2005中的方法 create table tb id int,value varchar 10 insert into tb values 1,aa insert into tb values 1,bb insert into tb values 2,aaa insert...

Oracle 行列轉置

兩種簡單的行列轉置 1 固定列數的行列轉換 如student subject grade student1 語文 80 student1 數學 70 student1 英語 60 student2 語文 90 student2 數學 80 student2 英語 100 轉換為 語文 數學 英語 s...