【问题标题】:How to makes this checkbox works inside the GridView?如何使此复选框在 GridView 中起作用?
【发布时间】:2012-07-10 07:57:54
【问题描述】:

我是一名新的 ASP.NET 开发人员,并尝试使用 GridView 控件作为管理每个部门员工的一种方式。此 GridView 将显示数据库中员工表中的所有员工。现在,我面临以下问题:

仅供参考,我有以下数据库设计:

Employee Table: Username, Name, JobTitle, BadgeNo, IsActive, DivisionCode
Divisions Table: SapCode, DivisionShortcut

(IsActive 就像一个标志(位数据类型),用于指示员工是否在分配中)

IsActive 将在 GridView 中显示为 Checkbox。如果选中,则表示真实,并且该员工存在于他的部门中。如果不勾选,则表示该员工不在该部门,应在 GridView 中隐藏。 那么该怎么做呢?另外,我想隐藏在编辑模式下出现在复选框旁边的(真)文本。怎么做呢?

ASP.NET 代码:

<asp:TemplateField HeaderText="Is Active?">
                    <ItemTemplate>
                        <%# Eval("IsActive")%>
                    </ItemTemplate>
                    <EditItemTemplate>
                        <asp:CheckBox ID="isActive" runat="server" Text='<%# Bind("IsActive")%>' />
                    </EditItemTemplate>
                </asp:TemplateField>

更新:

我希望从 GridView 隐藏员工的所有信息,因为他处于非活动状态。

【问题讨论】:

标签: c# asp.net gridview sql-server-2008-r2


【解决方案1】:

试试这个

<asp:CheckBox ID="isActive" runat="server" Visible='<%# Bind("IsActive")%>' Text='<%# Bind("IsActive")%>' />

【讨论】:

    【解决方案2】:

    改用这个。 已删除 text 属性,因此 IsActive 将不可见。可见性由 IsActive 标志控制

    <asp:TemplateField HeaderText="Is Active?">
                        <ItemTemplate>
                            <%# Eval("IsActive")%>
                        </ItemTemplate>
                        <EditItemTemplate>
                            <asp:CheckBox ID="isActive" runat="server" Checked='<%# Eval("IsActive").ToString().Equals("True")  %> />
                        </EditItemTemplate>
                    </asp:TemplateField>
    

    编辑

    如果您希望为非活动用户隐藏整行,最好在执行 databind() 操作之前从数据集中过滤非活动用户。你甚至可以在数据库端过滤它,但由于我不知道整个场景,我建议你这样做。

     DataSet filter = ds.Tables[0].Select("IsActive == 'True'");
        gridUser.DataSource = filter;
        gridUser.DataBind();
    

    【讨论】:

    • 我问自己,当用户处于非活动状态时,他希望如何使用户处于活动状态,因为 CheckBox 将是不可见的。但无论如何,这就是他想要的(Checked 状态除外)。
    • 我很困惑。您想隐藏非活动用户,还是希望他们仍然可见但未选中复选框。如果是这样,您可以使用 Checked Property 而不是 visible
    • 啊,你想隐藏整行?
    • 我只想隐藏非活动用户。
    • 我希望员工的所有信息都隐藏在 GridView 中,因为他处于非活动状态
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-11
    • 2013-05-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多