在 GridView 中使用 DataBinder.Eval 选中复选框,可以通过以下步骤实现:
- 在 GridView 中添加 CheckBox 列:<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# DataBinder.Eval(Container.DataItem, "Selected") %>' />
</ItemTemplate>
</asp:TemplateField>
<!-- 其他列 -->
</Columns>
</asp:GridView>public class DataItem
{
public bool Selected { get; set; }
// 其他属性
}protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
// 绑定数据
List<DataItem> data = new List<DataItem>();
// 添加数据项
data.Add(new DataItem { Selected = false, Property1 = "Value1", Property2 = "Value2" });
data.Add(new DataItem { Selected = true, Property1 = "Value3", Property2 = "Value4" });
// 绑定数据到 GridView
GridView1.DataSource = data;
GridView1.DataBind();
}
}protected void Button1_Click(object sender, EventArgs e)
{
foreach (GridViewRow row in GridView1.Rows)
{
CheckBox checkbox = (CheckBox)row.FindControl("CheckBox1");
if (checkbox.Checked)
{
// 获取选中行的数据
DataItem data = (DataItem)row.DataItem;
// 处理选中行的数据
}
}
}通过以上步骤,可以在 GridView 中使用 DataBinder.Eval 选中复选框,并在处理复选框时获取选中行的数据。
- 在数据源中添加 Selected 属性:
- 在绑定数据时,将 Selected 属性设置为对应的值:
- 在处理 GridView 中的复选框时,可以通过以下方式获取选中的行: