2009-11-20 2 views
0

ma procédure stockée retourne 1 ou 0 en fonction de la valeur d'un autre champ, cependant, mon checkboxfield dans le gridview que j'ai créé pour afficher les données retournées par le proc stocké, s'écroule en disant que la valeur du champ checkbox est une chaîne et non une valeur booléenne. Comment puis-je prendre le champ retourné comme 1 ou 0 et le convertir en booléen afin que ma case à cocher peut lier à cette valeur pour vérifier/décocher?aide avec asp.net gridview/checkboxfield liaison

Répondre

0

Je crois que vous voulez quelque chose comme ça - cela fonctionne pour un DataGrid:

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

Créer un champ de modèle avec votre case à cocher dans la grille de données.

// 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;