2009-11-20 66 views
0

我的存储过程返回1或0,具体取决于另一个字段的值,但是,我创建的gridview中的checkboxfield显示从存储过程返回的数据,正在崩溃,说设置为checkboxfield的值是一个字符串,而不是布尔值。我如何将字段返回为1或0并将其转换为布尔值,以便我的复选框可以绑定到此值以检查/取消选中?帮助与asp.net gridview/checkboxfield绑定

回答

0

我相信你想这样的事情 - 这个工程的一个DataGrid:

<asp:CheckBox ... 
    Checked='<%# Convert.ToBoolean(DataBinder.Eval(Container.DataItem, "is_checked"))%>' 
/> 
0

与在DataGrid的复选框,创建一个模板领域。

// 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")); 
} 
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;