![](/img/trans.png)
[英]how to filter data table from specific date to specific date using bindingsource in c# ?
[英]How to filter a specific value from a data table
我的数据表中有五行(带有AccountId,Name,Email,Address列),我想基于AccountId获得特定的行,因为所有五行都有不同的AccountID。 我想根据AccountID对其进行过滤。 我的意思是,我只需要从数据表中获取一行就可以基于AccountId进行处理。
如何从包含已传递的AccountId的数据表中获得特定行?
三种选择:
DataTable.Select
,提供过滤器表达式 我个人建议使用最后一个选项(LINQ):
var row = table.AsEnumerable()
.FirstOrDefault(r => r.Field<string>("AccountID") == accountID);
if (row != null)
{
// Use the row
}
您是否研究过DataTable.Select()方法?
http://msdn.microsoft.com/zh-CN/library/system.data.datatable.select(v=vs.100).aspx
public class DataTableExample
{
public static void Main()
{
//adding up a new datatable
DataTable dtEmployee = new DataTable("Employee");
//adding up 3 columns to datatable
dtEmployee.Columns.Add("ID", typeof(int));
dtEmployee.Columns.Add("Name", typeof(string));
dtEmployee.Columns.Add("Salary", typeof(double));
//adding up rows to the datatable
dtEmployee.Rows.Add(52, "Human1", 21000);
dtEmployee.Rows.Add(63, "Human2", 22000);
dtEmployee.Rows.Add(72, "Human3", 23000);
dtEmployee.Rows.Add(110,"Human4", 24000);
// sorting the datatable basedon salary in descending order
DataRow[] rows= dtEmployee.Select(string.Empty,"Salary desc");
//foreach datatable
foreach (DataRow row in rows)
{
Console.WriteLine(row["ID"].ToString() + ":" + row["Name"].ToString() + ":" + row["Salary"].ToString());
}
Console.ReadLine();
}
}
数组示例: http : //msdn.microsoft.com/zh-cn/library/f6dh4x2h(VS.80).aspx
具有单个对象的示例: http : //msdn.microsoft.com/zh-cn/library/ydd48eyk
只需使用以下内容:
DataTable dt = new DataTable();
DataRow dr = dt.Rows.Find(accntID);
希望这对您有所帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.