[英]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.