gpt4 book ai didi

asp.net - 为选中的 CheckBoxField 设置默认 bool 值

转载 作者:行者123 更新时间:2023-12-02 02:04:47 24 4
gpt4 key购买 nike

我在 ASP.NET 中有一个 GridView,它有一个 CheckBoxField 列,该列从数据库中的查询绑定(bind)到 DataField。如果值为 false,我需要能够检查它,如果值为 true,则不检查。

这有点不标准,因为它完全倒退了大多数复选框控件的工作方式,但有没有办法做到这一点?

最佳答案

有多种方法可以解决这个问题。你可以试试这个:

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
foreach (Control ctrl in e.Row.Cells[0].Controls)
{
if (ctrl.GetType().Name == "CheckBox")
{
CheckBox chk = (CheckBox)ctrl;
chk.Checked = !chk.Checked;
}
}
}
}

请记住在您的复选框字段所在的位置添加正确的单元格。

另一种方法是添加一个 TemplateField:

<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server"
Checked='<%# !Convert.ToBoolean(Eval("Status")) %>' />
</ItemTemplate>
</asp:TemplateField>

您还可以在从数据库服务器获取数据源后对其进行修改,因此如果您在其他地方以正常方式使用它,则无需修改查询。假设您有一个项目的通用列表:

myItems.ForEach(item => item.Status = !item.Status);

额外的 jQuery 版本:

<script>
$(function () {
$("#<%=GridView1.ClientID %> input[type='checkbox']").each(function () {
$(this).prop("checked", !$(this).prop("checked"));
});
});
</script>

关于asp.net - 为选中的 CheckBoxField 设置默认 bool 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15688593/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com