我有GridView
。我必须收集选中复选框的GridViewRow
。如何在没有任何客户端脚本的情况下实现它?请帮我完成这件事。
答案 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();
请记住,为了实现这一点,我认为您需要将包含复选框的列转换为模板列。