簡體   English   中英

從數據表中的特定列名返回行-C#

[英]Returning rows from a specific column name from a DataTable - C#

我一直在嘗試在線查找答案,但是我正在使用DataTable,並且我想根據表中的列名過濾所有行,但似乎無法使filterExpression正常工作。 即使語法錯誤,這基本上也是我想要的。

DataRow []行= sqlDT.Select(ColumnName =“ Foo”,“ ASC”,DataViewRowState.CurrentRows);

非常感謝。

您執行的順序錯誤,只需這樣做:Datatable.rows(0 // count).item(“列名”); 您可以使用foreach將其循環然后列出

有幾種方法可以完成此操作。 我建議使用LINQ來過濾行:

sqlDT = sqlDT.AsEnumerable().Where(r => r.Field<string>("ColumnName") == "Foo").CopyToDataTable();

您還可以使用Select方法或DefaultView.RowFilter屬性:

//select method
sqlDT = sqlDT.Select("ColumnName = 'Foo'").CopyToDataTable();

//row filter property
sqlDT.DefaultView.RowFilter = "ColumnName = 'Foo'";
sqlDT = sqlDT.DefaultView.ToTable();

編輯

如果只想過濾掉不需要的列,請使用DefaultView.ToTable()方法:

sqlDT = sqlDT.DefaultView.ToTable(false, "Column1", "Column2", "Column3");

你應該嘗試這樣的事情

DataRow [] row = sqlDT.Select(“ ColumnName ='” + Foo +“'”,“ ASC”,DataViewRowState.CurrentRows);

希望這項工作對您有用。

暫無
暫無

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

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