asp.net - 是否可以在 GridView (ASP.NET) 上执行 linq 查询?

标签 asp.net linq gridview

基本上我有一个数据键,我想从我的 GridView 中查询它,而不是遍历所有行并比较每行的键。所以我想知道是否可以只对 gridview(不是数据表)进行 linq 查询并使用数据键进行过滤。

最佳答案

不确定如何直接使用 DataKeyNames,因为 Column 没有关于它来自的数据字段名称的任何信息。在下面的示例中,我使用 SortExpression 获取用于过滤的列索引。

编辑:这里最重要的部分是转换,它使您能够使用为 IEnumerable 设计的所有花哨的扩展方法。

int idColumnIndex = MyGrid.Columns.Cast<DataControlField>().Where(e => e.SortExpression == "ID").Select(e => MyGrid.Columns.IndexOf(e)).FirstOrDefault();
var row = MyGrid.Rows.Cast<GridViewRow>().Where(e => e.Cells[idColumnIndex].Text == "421").FirstOrDefault();

一切皆有可能!

关于asp.net - 是否可以在 GridView (ASP.NET) 上执行 linq 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3701001/

相关文章:

c# - LINQ to SQL - 数据库设计问题

asp.net - 使用 javascript 控制 gridview 列可见性

ASP.NET Identity 2 Invalid no Two factor Provider Exists 存在

c# - 在 ASP.NET 中第一次单击时按钮 OnClick 没有触发?

c# - Linq-to-SQL,通过 Expression<Func<T, T>> 在查询语法中选择方法

asp.net - 如何在 GridView 中设置模板字段的样式(附有 aspx 页面和 CSS)

c# - DataSource 和 DataSourceID 都在 'GridView2' 上定义。删除一个定义

c# - 在 URL 或 Session 或其他中存储语言

javascript - 高度 : auto does not work on <li> elements

linq - 如何从列表中选择具有与另一个列表中的项目匹配的属性的对象?