Ciao a tutti..
è da un po di giorni che litigo con un ObjectDataSource: ho seguito un tutorial online e tutto (select e update) funziona. Preciso che l'interfaccia con i dati è un DataSet (un file .xsd).
I problemi sorgono quando cerco di replicare parte del codice (il codice che nello user control si occupa di creare e settare l'ObjectDataSource e il relativo GridView), nel codebehind.
Nello specifico, l'errore si verifica quando clicco sull'immagine che dovrebbe consentirmi di modificare il record:
E' come se, creando il tutto da codice, il GridView voglia passare due parametri a GetCaratteristiche, invece che solo uno!!!! Che ne pensate? Riuscite a darmi qualche indicazione?
Questo è quello che ho nello user control (e che funziona):
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
DataObjectTypeName="WTC.ComImmobili.BLL.Caratteristica"
SelectMethod="GetCaratteristiche" TypeName="WTC.ComImmobili.BLL.Caratteristica"
UpdateMethod="UpdateCaratteristica">
<UpdateParameters>
<asp:Parameter Name="idCaratteristica" />
<asp:Parameter Name="idTipoCaratteristica" />
<asp:Parameter Name="Descrizione" />
<asp:Parameter Name="Abilitato" />
</UpdateParameters>
<SelectParameters>
<asp:Parameter DefaultValue="0" Name="idTipoCaratteristica" Type="Int32" />
</SelectParameters>
</asp:ObjectDataSource>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataSourceID="ObjectDataSource1" HorizontalAlign="Justify">
<Columns>
<asp:CommandField ShowEditButton="True" />
<asp:BoundField DataField="idCaratteristica" HeaderText="idCaratteristica"
SortExpression="idCaratteristica" />
<asp:BoundField DataField="idTipoCaratteristica"
HeaderText="idTipoCaratteristica" SortExpression="idTipoCaratteristica" />
<asp:BoundField DataField="Descrizione" HeaderText="Descrizione"
SortExpression="Descrizione" />
<asp:CheckBoxField DataField="Abilitato" HeaderText="Abilitato"
SortExpression="Abilitato" />
</Columns>
</asp:GridView>
Il parametro idTipoCaratteristica impostato a 0 della istruzione SELECT permette di avere tutte le righe. In questo modo ho una tabella con tutto il contenuto della tabella.
Da codice, vorrei dividere le righe della tabella raggruppando per quel parametro. Quindi eseguo in una routine la selezione degli idTipoCaratteristica con un OleDbCommand, e poi chiamo ciclicamente la routine che posto di seguito (che teoricamente dovrebbe creare l'ObjectDataSource e il GridView come da codice in alto, per ogni gruppo di caratteristiche):
Questa è la funzione GetCaratteristiche:
Qualsiasi indicazione sarà apprezzata!! Grazie!
I computer sanno contare solo da 0 a 1, il resto è illusione...
Il mio sitarello: http://www.shark986.altervista.org/