繁体   English   中英

GridView将'Y'或'N'转换为复选框。在ItemTemplate字段中选中

[英]GridView convert 'Y' or 'N' into checkbox.checked on ItemTemplate field

我在下面的GridView中将显示一些文本并提供一个复选框。

    <asp:GridView ID="surveyTableTest" runat="server" AutoGenerateColumns="false" >
        <Columns>
            <asp:TemplateField>
                <ItemTemplate>
                    <asp:HiddenField ID="hdnSurveyID" runat="server" Value='<%#DataBinder.Eval(Container.DataItem, "survey_id") %>' />                
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="URL">
                <ItemTemplate>
                    <asp:Label ID="surveyURL" runat="server" Text='<%#DataBinder.Eval(Container.DataItem, "URL") %>' />
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Used">
                <ItemTemplate>
                    <asp:CheckBox ID="surveyUsed" runat="server" />
                </ItemTemplate>
            </asp:TemplateField>
        </Columns>            
    </asp:GridView>

我有一个绑定到GridView的简单类。 这是从SQL存储过程填充的。

    public class surveyURL 
    {
        public int survey_id { get; set; }
        public string URL { get; set; }
        public string used { get; set; }
    }

我如何从NCHAR(1)为Y或N的'used'中获取信息并将其转换为复选框.checked结果为'used'='Y'

这就是我目前在C#中所做的,足以填充hiddenfield和第一个模板字段。 我不知道如何进行此复选框。

    var test = cn.Query<surveyURL>("sp_create_url", p, commandType: CommandType.StoredProcedure);

    surveyTableTest.DataSource = test;
    surveyTableTest.DataBind();

您可以使用CheckBox控件的Checked属性,并使用C#条件运算符,如下所示:

<asp:CheckBox ID="surveyUsed" runat="server" 
              Checked='<%# Eval("used").ToString() == "Y" ? true: false %>' />

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM