【发布时间】:2015-06-02 21:59:25
【问题描述】:
我正在将一个数据表绑定到一个 GridView,该 GridView 的一个字段中有一个复选框。我无法根据数据表检查复选框。
这是我目前所拥有的:
<asp:TemplateField HeaderText="Approved" SortExpression="Approved">
<ItemTemplate>
<asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Eval("Approved").ToString() == "Y" ? true : false %>'
Enabled="false" />
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" />
</asp:TemplateField>
代码背后:
Dim adp As SqlDataAdapter = New SqlDataAdapter(sqlcmd)
Dim ds As DataSet = New DataSet()
adp.Fill(ds, "table_name")
dt = New DataTable()
dt = ds.Tables("table_name")
GridView1.DataSource = dt
GridView1.DataBind()
编辑:收到错误 BC30201:预期表达式。在这一行:
<asp:CheckBox ID="CheckBox1" runat="server" Checked='<%#Eval("Approved").ToString() == "Y" ? true : false %>'
Enabled="false" />
用 ANSWER 编辑:我终于让它工作了,我发现 VB 中不存在三元运算符。
<asp:CheckBox ID="CheckBox1" runat="server" Checked='<%# Eval("Approved").ToString().ToUpper().Trim() = "Y" %>' Enabled="false"/>
【问题讨论】:
标签: asp.net gridview datatable