簡體   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