C#實現(xiàn)從多列的DataTable里取需要的幾列
本文實例講述了C#實現(xiàn)從多列的DataTable里取需要的幾列的方法。分享給大家供大家參考,具體如下:
方法一:
也是廣為人知的一種:
YourDataTable.Columns.Remove("列名");
但是這種情況只適合于去掉很少列的情況。
如果有很多列我卻只要一兩列呢,那就得用方法二了。
方法二:
補加dataTable操作相關(guān)內(nèi)容:
對DataTable 的一些操作
在dataTable中最容易想到的是用for循環(huán)來操作,但事實不到萬不得已是不會用form循環(huán)的,因為效率一般不高。
1) 取行
取行一般用rowfilter
DataTable datSource;//數(shù)據(jù)源表 //過濾表 DataView davTemp = new DataView(datSource, "過濾條件", "排序字段", DataViewRowState.各種 狀態(tài)); //把過濾后的表賦給新表 DataTable datNew = davTemp.ToTable();
2)取表的某列或多列
DataTable datSource;//數(shù)據(jù)源表 DataTable datNew= datSource.DefaultView.ToTable(false, new string[] { "列名", "列名" .....});
3)復(fù)制某行的值[前提是表結(jié)構(gòu)或列數(shù)相同]
DataTable datSource; DataTable datNew; datSource.Rows[i].ItemArray= datNew. Rows[i].ItemArray;
4)表列數(shù)相同,但是卻列名不同,想復(fù)制值怎么辦?
換個思維方式,既然列數(shù)相同,只是列名不同,為什么不改變列名呢?
如下:
DataTable datSource; DataTable datNew; datNew= datSource.Copy(); datNew.Columns["FirstColumn"].ColumnName = "YourColumnName";
5)調(diào)整列的位置SetOrdinal();
DataTable dat = new DataTable(); //添加三列 dat.Columns.Add("col1"); dat.Columns.Add("col2"); dat.Columns.Add("col3"); //添加一行數(shù)據(jù) dat.Rows.Add(1,2,3); //把第三列放到第一的位置 dat.Columns["col3"].SetOrdinal(0);
希望本文所述對大家C#程序設(shè)計有所幫助。
相關(guān)文章
C# Winform按鈕中圖片實現(xiàn)左圖右字的效果實例
這篇文章主要給大家介紹了關(guān)于C# Winform按鈕中圖片實現(xiàn)左圖右字效果的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11快速學(xué)習(xí)C# 設(shè)計模式之職責(zé)鏈模式
這篇文章主要介紹了C# 設(shè)計模式之職責(zé)鏈模式的的相關(guān)資料,文中代碼非常細(xì)致,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下2020-06-06C#使用RenderControl將GridView控件導(dǎo)出到EXCEL的方法
這篇文章主要介紹了C#使用RenderControl將GridView控件導(dǎo)出到EXCEL的方法,是C#應(yīng)用程序設(shè)計中非常實用的一個功能,需要的朋友可以參考下2014-08-08c# 用Dictionary實現(xiàn)日志數(shù)據(jù)批量插入
這篇文章主要介紹了c# 用Dictionary實現(xiàn)日志數(shù)據(jù)批量插入的步驟,幫助大家更好的理解和使用c#中的Dictionary類,感興趣的朋友可以了解下2021-02-02