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