簡體   English   中英

如何從 C# 中的 DataTable 中選擇特定列?

[英]How To select Specific Column From DataTable in C#?

我有一個包含 4 列的數據表,我想選擇一列而不使用 foreach 或任何其他昂貴的循環,我的結果必須是一個包含一列的新數據表,我該怎么做;

DataTable leaveTypesPerPersonnel = LeaveGroup.GetLeaveTypesPerPersonnels(dtPersonnel.row);

leaveTypesPerPersonnel 有這個列:

[ID,Guid,LeaveTypeID,Code]

我想要過濾 leaveTypesPerPersonnel withhtout foreach 並獲得只有列[ID]

注意:輸出必須是包含一列的數據表。

 leaveTypesPerPersonnel.Columns.Remove("Guid");
 leaveTypesPerPersonnel.Columns.Remove("LeaveTypeID");
 leaveTypesPerPersonnel.Columns.Remove("Code");

或者

 DataTable dt= new DataView(leaveTypesPerPersonnel).ToTable(false,"ID");

您應該能夠對數據表運行快速的 LINQ 語句。

var results = (from item in leaveTypesPerPersonnel
               select item.ID);

如果我沒記錯的話,這會給你一個 IEnumerable。 它不是數據表,但也可能為您的問題提供解決方案。

這是一個關於如何搜索並將結果轉換為 DataTable 的嘗試

 var dataTable = leaveTypesPerPersonnel.Rows.Cast<DataRow>().ToList().Where(x=> x["ID"] == 21).CopyToDataTable().DefaultView.ToTable(false, "ID");

或者

 var dataTable = leaveTypesPerPersonnel.Select("ID = 21").CopyToDataTable().DefaultView.ToTable(false, "ID");

或者

   var dataTable = leaveTypesPerPersonnel.Rows.Cast<DataRow>().ToList().CopyToDataTable().DefaultView.ToTable(false, "ID");

暫無
暫無

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

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