怎麼樣從多列的DataTable裏取需要的幾列

方法一:

    也是廣爲人知的一種:

    YourDataTable.Columns.Remove("列名");

    但是這種情況只適合於去掉很少列的情況。

    如果有很多列我卻只要一兩列呢,那就得用方法二了。

方法二:

   DataTable dat = YourDataTable.DefaultView.ToTable(false, new string[] { "你要的列名", "你要的列名" });

 

補加dataTable操作相關內容:

對DataTable 的一些操作

在dataTable中最容易想到的是用for循環來操作,但事實不到萬不得已是不會用form循環的,因爲效率一般不高。

1)  取行

取行一般用rowfilter

DataTable datSource;//數據源表

//過濾

DataView davTemp = new DataView(datSource, "過濾條件", "排序字段", DataViewRowState.各種 狀態);

//過濾後的表賦給新表

DataTable datNew = davTemp.ToTable();

 

2)取表的某列或多列

DataTable datSource;//數據源表

DataTable datNew= datSource.DefaultView.ToTable(false, new string[] { "列名", "列名" .....});

 

3)複製某行的值[前提是表結構或列數相同]

DataTable datSource;

DataTable datNew;

datSource.Rows[i].ItemArray= datNew. Rows[i].ItemArray;

 

4)表列數相同,但是卻列名不同,想複製值怎麼辦?

換個思維方式,既然列數相同,只是列名不同,爲什麼不改變列名呢?

如下:

DataTable datSource;

DataTable datNew;

datNew= datSource.Copy();

datNew.Columns["FirstColumn"].ColumnName = "YourColumnName";

 

5)調整列的位置SetOrdinal();

  DataTable dat = new DataTable();
  //添加三列
  dat.Columns.Add("col1");
  dat.Columns.Add("col2");
  dat.Columns.Add("col3");
  //添加一行數據
  dat.Rows.Add(1,2,3);
  //把第三列放到第一的位置
  dat.Columns["col3"].SetOrdinal(0);

發佈了88 篇原創文章 · 獲贊 13 · 訪問量 41萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章