簡體   English   中英

過濾數據表中的列

[英]Filtering columns in datatable

我有一個包含多列的數據表。 我想過濾我所做的列:

newDatableName= OldDt.ToTable(false,"col1","col2");

現在假設,我想以dyanamically指定列名,即將所有列名放在一個字符串中,然后執行:

string colnames= "col1,col2";
 newDatableName= OldDt.ToTable(false,colnames);

我嘗試了以上但它不起作用。 我甚至嘗試過:

string colname= "\"col1\",\"col2\"";

但它將列名稱字符串視為一列,並給出錯誤,即不存在此列。

任何幫助贊賞。

我想您正在使用DataView.ToTable方法(因此OldDT是DataView而不是DataTable)。
在這種情況下,您需要傳遞一個列名稱數組

string[] colnames = new string[] {"col1", "col2"};
newDatableName= OldDt.ToTable(false,colnames);

您可以使用Steve的答案,如果不喜歡定義新數組,請嘗試以下方法:

string colnames="col1,col2"
newDatableName=OldDt.ToTable(colnames.Split(',');
DataTable.DefaultView.ToTable(bool, Params string[] ColumnNames);

上面的方法基於現有DataView行創建並返回一個新的DataTable

您必須將兩個參數傳遞給此函數。 如果為true,則返回的DataTable包含對其所有列具有不同值的行。 默認值為false。 一個字符串數組,包含要包含在返回的DataTable中的列名列表。 DataTable按照它們在此數組中出現的順序包含指定的列。 例如:

DataTable NewTable = dt.DefaultView.ToTable(false, "StartDate", "FinishDate", "ItemName", "AssigneeNames", "ProjectName", "PercentComplete");

暫無
暫無

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

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