我的存储过程返回1或0,具体取决于另一个字段的值,但是,我创建的gridview中的checkboxfield显示从存储过程返回的数据,崩溃说该值设置为checkboxfield是一个字符串,而不是布尔值。如何将返回的字段设置为1或0并将其转换为布尔值,以便我的复选框可以绑定到此值以进行检查/取消选中?
答案 0 :(得分:1)
ASPX
<asp:TemplateField SortExpression="TragamonedaActiva" HeaderText="Trag. Activa">
<ItemTemplate>
<asp:CheckBox ID="CK2" runat="server" EnableViewState="true"
Checked='<%# Convert.ToBoolean(Eval("TragamonedaActiva")) %>'/>
</ItemTemplate>
</asp:TemplateField>
的.cs
isChecked = ((CheckBox)gvReport.Rows[rowNo].FindControl("CK1")).Checked;
答案 1 :(得分:0)
我相信你想要这样的东西 - 这适用于DataGrid:
<asp:CheckBox ...
Checked='<%# Convert.ToBoolean( DataBinder.Eval(Container.DataItem, "is_checked"))%>'
/>
答案 2 :(得分:0)
使用数据网格中的复选框创建模板字段。
// In your aspx page
<asp:CheckBox ID="yourCheckBox" runat="server" OnDataBinding="yourCheckBox_DataBinding" />
// In your codebehind .cs file
protected void yourCheckBox_DataBinding(object sender, System.EventArgs e)
{
CheckBox chk = (CheckBox)(sender);
chk.Checked = Convert.ToBoolean(Eval("YourFieldName"));
}