Tar*_*sov 68 c# asp.net datatable filter dataset
我使用DataTable和有关用户的信息,我希望在此DataTable中搜索用户或用户列表.我试试但是不起作用:(
这是我的c#代码:
public DataTable GetEntriesBySearch(string username,string location,DataTable table)
{
list = null;
list = table;
string expression;
string sortOrder;
expression = "Nachname = 'test'";
sortOrder = "nachname DESC";
DataRow[] rows = list.Select(expression, sortOrder);
list = null; // for testing
list = new DataTable(); // for testing
foreach (DataRow row in rows)
{
list.ImportRow(row);
}
return list;
}
Run Code Online (Sandbox Code Playgroud)
Kad*_*dir 107
您可以使用DataView.
DataView dv = new DataView(yourDatatable);
dv.RowFilter = "query"; // query example = "id = 10"
Run Code Online (Sandbox Code Playgroud)
http://www.csharp-examples.net/dataview-rowfilter/
Tim*_*ter 93
如果你至少使用.NET 3.5,我会建议使用Linq-To-DataTable它,因为它更具可读性和强大性:
DataTable tblFiltered = table.AsEnumerable()
.Where(row => row.Field<String>("Nachname") == username
&& row.Field<String>("Ort") == location)
.OrderByDescending(row => row.Field<String>("Nachname"))
.CopyToDataTable();
Run Code Online (Sandbox Code Playgroud)
上面的代码只是一个例子,实际上你有更多的方法可用.
请记住using System.Linq;为AsEnumerable扩展方法添加对System.Data.DataSetExtensionsdll(How)的引用.
Vol*_*aya 12
明确:
list = null; // for testing
list = new DataTable(); // for testing
foreach (DataRow row in rows)
{
list.ImportRow(row);
}
Run Code Online (Sandbox Code Playgroud)
使用:
.CopyToDataTable()
Run Code Online (Sandbox Code Playgroud)
例:
string _sqlWhere = "Nachname = 'test'";
string _sqlOrder = "Nachname DESC";
DataTable _newDataTable = yurDateTable.Select(_sqlWhere, _sqlOrder).CopyToDataTable();
Run Code Online (Sandbox Code Playgroud)
小智 9
有时您实际上想要返回 a DataTablethan a DataView。所以 aDataView对我来说不好,我想很少有人也会想要它。这是我以前做的
myDataTable.select("myquery").CopyToDataTable()
Run Code Online (Sandbox Code Playgroud)
这将过滤myDataTable哪个是 DataTable 并返回一个新的DataTable
希望有人会发现这是有用的
小智 7
对于任何使用VB.NET的人(以防万一)
Dim dv As DataView = yourDatatable.DefaultView
dv.RowFilter ="query" ' ex: "parentid = 0"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
251282 次 |
| 最近记录: |