Checkbox in TemplateField con Gridview

venerdì 09 aprile 2010 - 23.00

zseven Profilo | Senior Member

Ciao ragazzi,
sono riuscito ad aggiornare un checkbox in un gridview utilizzando
<asp:CheckBoxField

però non sono riuscito in nessuna maniera a farlo utilizzando i Template.
Il codice che ho usato è questo:

<asp:TemplateField HeaderText="APPROVA" HeaderStyle-CssClass="link_menu" SortExpression="approva_ricetta">
<ItemTemplate>
<asp:Label ID="LblApprova" Text='<%# ElencoFunzioni.CSiNo(Eval("approva_ricetta")) %>' runat="server"></asp:Label> </ItemTemplate>
<EditItemTemplate>
<asp:CheckBox ID="ChkApprova" runat="server" Checked='<%# Eval("approva_ricetta") %>' />
</EditItemTemplate>
</asp:TemplateField>

e nell'sqldatasource questo:

UpdateCommand="UPDATE tab_ricette SET approva_ricetta = @approva_ricetta WHERE ID_ricette = @ID_ricette"

<UpdateParameters>
<asp:Parameter Name="approva_ricetta" DbType="Boolean" />
<asp:Parameter Name="ID_ricette" DbType="Int32" />
</UpdateParameters>

Mi dà come risultato
System.InvalidCastException: Cast non valido dal tipo 'DBNull' al tipo 'String'.

Nel database mi mette NULL come risultato e non recupera il valore.

Sapete aiutarmi per piacere?
Grazie mille

skraus Profilo | Junior Member

Prova a sostituire Eval con Bind ossia <%#Bind("approva_ricetta")%>

> <EditItemTemplate>
><asp:CheckBox ID="ChkApprova" runat="server" Checked='<%#
>Eval("approva_ricetta") %>' />
> </EditItemTemplate>

Ciao
Sk
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5