ASP.NET 3.5 GridView行选择

时间:2010-10-23 16:18:53

标签: c# asp.net gridview

我有GridView。我必须收集选中复选框的GridViewRow。如何在没有任何客户端脚本的情况下实现它?请帮我完成这件事。

3 个答案:

答案 0 :(得分:4)

如果您熟悉LINQ,可以使用

这样的内容
List<GridViewRow> rowCollection = 
                     GridView1.Rows
                     .OfType<GridViewRow>()
                     .Where(x => ((CheckBox)x.FindControl("chkRow")).Checked)
                     .Select(x => x).ToList();

一切顺利。

答案 1 :(得分:1)

替代老派方法是使用for或foreach循环迭代网格的Rows集合,找到FindControl方法的复选框并检查它们的Checked属性值。

答案 2 :(得分:1)

稍后再回来时,简单易懂。

 var selectedRows = (from GridViewRow row in GridView1.Rows
                    let cbx = (CheckBox)row.FindControl("CheckBox1")
                    where cbx.Checked
                    select row).ToList();

请记住,为了实现这一点,我认为您需要将包含复选框的列转换为模板列。