簡體   English   中英

將特定的數據集列復制到數據表

[英]Copy Specific Dataset Columns to Datatable

我有一個讀取xml數據的DataSet,它有將近20列,我需要從DataSet中獲取5列。 我已經在我的級別上嘗試過,但是無法獲取需要的特定列的DataTable。 我嘗試過的一些代碼是:

DataTable dt = new DataTable();  //dt is blank DataTable 
DataSet ds = new DataSet();  //ds is existing DataSet which has single table in it
dt.Columns[0]=dst4.Tables[0].Columns[0];               
dt.Columns.Add(dst4.Tables[0].Columns[0]);  
ds.Tables.Add(dt)
dst4.Tables.Columns.Add(dt);

說您必須將列“ ColumnName1”,“ ColumnName2”,“ ColumnName3”,“ ColumnName4”,“ ColumnName5”復制到新的DataTable

DataTable source = dst4.Tables[0];
DataTable dt = source.DefaultView.ToTable(false, "ColumnName1", "ColumnName2", "ColumnName3", "ColumnName4", "ColumnName5"); 

您可以克隆該表以創建一個具有相同列的空表,然后刪除多余的列。這里是一個帶有命名列的示例,也可以使用索引:

DataTable dt = ds.Tables[0].Clone();
var colToTake = new[] { "Col1", "Col3", "Col7", "Col15", "Col19" };
var colsToRemove = dt.Columns.Cast<DataColumn>()
    .Where(c => !colToTake.Contains(c.ColumnName));
foreach (DataColumn colToRemove in colsToRemove)
    dt.Columns.Remove(colToRemove);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM