Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/295.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使Gridview显示复选框而不是0和1_C#_Asp.net_Gridview - Fatal编程技术网

C# 使Gridview显示复选框而不是0和1

C# 使Gridview显示复选框而不是0和1,c#,asp.net,gridview,C#,Asp.net,Gridview,我有一个GridView,它显示数字为1或0的记录 如何将记录转换为复选框,该复选框在值为1时处于选中状态,在值为0时处于未选中状态 <asp:GridView ID="gvStations" runat="server"> <columns> <asp:templatefield headertext="Type" sortexpression="TypeDesc"> <edititemtemplate&

我有一个
GridView
,它显示数字为1或0的记录

如何将记录转换为复选框,该复选框在值为1时处于选中状态,在值为0时处于未选中状态

<asp:GridView ID="gvStations" runat="server">
    <columns>
        <asp:templatefield headertext="Type" sortexpression="TypeDesc">
            <edititemtemplate>
                <asp:CheckBox ID="cbTypeEdit" runat="server" Text='<%# Bind("TypeDesc") />
            </edititemtemplate>
            <itemtemplate>
                <asp:CheckBox ID="cbType" runat="server" Text='<%# Bind("TypeDesc") ></asp:CheckBox>
            </itemtemplate>
            <itemstyle horizontalalign="Center" />
        </asp:templatefield>
        <asp:templatefield headertext="Type 2" sortexpression="TypeDesc2">
            <edititemtemplate>
                <asp:CheckBox ID="cbType2Edit" runat="server" Text='<%# Bind("TypeDesc2") />
            </edititemtemplate>
            <itemtemplate>
                <asp:CheckBox ID="cbType2" runat="server" Text='<%# Bind("TypeDesc2") ></asp:CheckBox>
            </itemtemplate>
            <itemstyle horizontalalign="Center" />
        </asp:templatefield>
    </columns>
</asp:GridView>


我认为应该是:

<asp:CheckBox ID="cbTypeEdit" runat="server" Text='<%# Bind("TypeDesc") %>' Checked="<%# (Int)Eval("TypeDesc") == 0 ? false : true %>" />   

我认为应该是:

<asp:CheckBox ID="cbTypeEdit" runat="server" Text='<%# Bind("TypeDesc") %>' Checked="<%# (Int)Eval("TypeDesc") == 0 ? false : true %>" />   

对于显示,您只需对绑定值进行一次比较即可:

<asp:CheckBox ID="cbTypeEdit" runat="server"
              Checked='<%# (int)Eval("TypeDesc") == 1 %>'/>


要处理网格行的编辑,恐怕您需要处理GridView的
行更新
事件,并手动转换值。

要显示,您只需对绑定值进行一次比较即可:

<asp:CheckBox ID="cbTypeEdit" runat="server"
              Checked='<%# (int)Eval("TypeDesc") == 1 %>'/>


要处理网格行的编辑,恐怕您需要处理GridView的
RowUpdated
事件并手动转换值。

一个简单的辅助函数会更好,因为您有
TypeDesc
TypeDesc2

加价

Checked='<%# SetCheckedStatus(Bind("TypeDesc")) %>'
Checked='<%# SetCheckedStatus(Bind("TypeDesc2")) %>'

通过这种方式,标记更加清晰

一个简单的助手函数会更好,因为您有
TypeDesc
TypeDesc2

加价

Checked='<%# SetCheckedStatus(Bind("TypeDesc")) %>'
Checked='<%# SetCheckedStatus(Bind("TypeDesc2")) %>'

通过这种方式,标记更清晰了

我得到了以下错误:CS0103:当前文件中不存在名称“Bind”context@Apollo,对不起,
Eval
是此处使用的权限。事实上,根本没有Bind这样的方法。忘记了这一点,抱歉,我收到了以下错误:CS0103:当前数据库中不存在名称“Bind”context@Apollo,对不起,
Eval
是此处使用的权限。事实上,根本没有Bind这样的方法。忘记了这一点,抱歉我收到了此错误:CS0103:名称“Bind”在当前上下文中不存在我收到了此错误:CS0103:名称“Bind”在当前上下文中不存在