71 messaggi dal 27 agosto 2006
1) ho modificato una colonna della gridview1 in template.
<asp:TemplateField HeaderText="MotivoFineATB" SortExpression="MotivoFineATB">
<EditItemTemplate>
<asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="SqlDataSource2"
DataTextField="MotivoFineATB"
DataValueField="MotivoFineATB"
SelectedItem='<%# Bind("MotivoFineATB") %>'>
</asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" BorderColor="BlueViolet" BackColor="silver" ForeColor="red" Text='<%# Bind("MotivoFineATB") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
Prima domanda: Perchè la proprietà SelectedItem non compare nell'intellisense delle proprietà della pagina???? Se uno la scrive, non viene rifiutata, ma non c'è!!!!
Lanciando il programma si ottengono due diverse risposte:
a) sembra che tutto funzioni ma modificando il valore del campo le modifiche non vengono registrate.
b)si ottiene questo messaggio: "Il tipo 'System.Web.UI.WebControls.ListItem' nell'assembly 'System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' non è contrassegnato come serializzabile." che a me non dice assolutamente nulla.
C'è qualcuno in grado di spiegarmi qual'è l'errore?

Grazie in anticipo
Comunque, leggendo sul web sembra che inserire una Drop in un form o una grid sia una vera "C*zz*t*", ma non è vero per niente!
637 messaggi dal 12 agosto 2005
SelectedItem non è disponibile "lato pagina", ma solo nel codice lato server (anche perché il tipo è ListItem). Se vuole impostare automaticamente l'elemento selezionato deve utilizzare la proprietà SelectedValue (che è una stringa), che invece compare nell'IntelliSense:

SelectedValue='<%# Bind("MotivoFineATB") %>'>
71 messaggi dal 27 agosto 2006
Grazie per la risposta, ma .....
1)SelectedValue nel mio intellisense non c'è (l'unico parametro presente che inizia con s è SkinId.
2)modificando manualmente "<asp:TemplateField HeaderText="MotivoFineATB" SortExpression="MotivoFineATB">
<EditItemTemplate>
<asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="SqlDataSource2"
DataTextField="MotivoFineATB"
DataValueField="MotivoFineATB"
selectedvalue='<%# Bind("MotivoFineATB") %>'>
</asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" BorderColor="BlueViolet" BackColor="silver" ForeColor="red" Text='<%# Bind("MotivoFineATB") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>

si ottiene:
"SelectedValue in 'DropDownList1' non valido, poiché non è incluso nell'elenco di elementi.
Nome parametro: value "

Dov'è il problema dunque??
637 messaggi dal 12 agosto 2005
thedoctorgp ha scritto:

"SelectedValue in 'DropDownList1' non valido, poiché non è incluso nell'elenco di elementi.
Nome parametro: value "

Dov'è il problema dunque??


In effetti è vero, l'IntelleSense non lo mostra. Ma se da Design modifica il template della colonna ed inserisce la DropDown, lo smart tag le dà la possibilità di associare il DataBinding e di cambiare SelectedValue (o anche SelectedIndex).

Nel suo caso, però, il problema è dato dal fatto che non esiste un elemento nella DropDown con "value" da lei passato e quindi non esiste l'elemento selezionabile. Provi a controllare se "SqlDataSource2" è correttamente configurato (magari riporti anche il codice).
71 messaggi dal 27 agosto 2006
La stringa SQL di SQlDataSource2 è;
"SELECT [MotivoFineATB] FROM [MotiviFineTrattamento]"
quella di SqlDataSOurce1 in cui ci sono i campi da aggiornare è
"SELECT * FROM [TerapiaMotivi] WHERE ([IdUtente] = @IdUtente) ORDER BY [DataInizioUsoATB] DESC, [DataFineUsoATB] DESC"

Nella Tabella [TerapiaMotivi] c'è un campo [MotivoFineATB] che dovrebbe ricevere la stringa scelta nella Drop.

Se c'è bisogno d'altro basta chiedere

Grazie
637 messaggi dal 12 agosto 2005
Può riportare anche il codice ASP?
71 messaggi dal 27 agosto 2006
Ecco il listato della grid:
"<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True"
AutoGenerateColumns="False" Caption="CAT Del Paziente" CaptionAlign="Top"
DataKeyNames="IdMotivi" DataSourceID="SqlDataSource1" Style="position: static" Font-Size="9pt">
<Columns>
<asp:CommandField ShowEditButton="True" ShowSelectButton="True" SelectText="Richiedi Farmaci" />
<asp:BoundField DataField="IdMotivi" HeaderText="I" InsertVisible="False"
ReadOnly="True" SortExpression="IdMotivi" />
<asp:BoundField DataField="IdUtente" HeaderText="U" SortExpression="IdUtente" />
<asp:CheckBoxField DataField="Chiuso" HeaderText="Chiuso" SortExpression="Chiuso" />
<asp:CheckBoxField DataField="SuVideatInfettivologico" HeaderText="Videat"
SortExpression="SuVideatInfettivologico" />
<asp:BoundField DataField="DataInizioUsoATB" HeaderText="Inizio" SortExpression="DataInizioUsoATB" />
<asp:BoundField DataField="DataFineUsoATB" HeaderText="Fine" SortExpression="DataFineUsoATB" />
<asp:BoundField DataField="MotivoInizioATB" HeaderText="Motivo Start" SortExpression="MotivoInizioATB" />
<asp:TemplateField HeaderText="Motivo Stop" SortExpression="MotivoFineATB">
<EditItemTemplate>
<asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="SqlDataSource2"
DataTextField="MotivoFineATB"
DataValueField="MotivoFineATB"
selectedvalue='<%# Bind("MotivoFineATB") %>'>
</asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" BorderColor="BlueViolet" BackColor="silver" ForeColor="red" Text='<%# Bind("MotivoFineATB") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<AlternatingRowStyle BackColor="Gainsboro" HorizontalAlign="Center" VerticalAlign="Middle" />
</asp:GridView>
71 messaggi dal 27 agosto 2006
E quello delle SQLDataSource:
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConflictDetection="CompareAllValues"
ConnectionString="<%$ ConnectionStrings:ClubConnectionString %>" DeleteCommand="DELETE FROM [TerapiaMotivi] WHERE [IdMotivi] = @original_IdMotivi AND [IdUtente] = @original_IdUtente AND [Chiuso] = @original_Chiuso AND [nNosografico] = @original_nNosografico AND [Rep] = @original_Rep AND [SuVideatInfettivologico] = @original_SuVideatInfettivologico AND [DataInizioUsoATB] = @original_DataInizioUsoATB AND [DataFineUsoATB] = @original_DataFineUsoATB AND [MotivoInizioATB] = @original_MotivoInizioATB AND [MotivoFineATB] = @original_MotivoFineATB AND [Inseritore] = @original_Inseritore AND [DataInserimento] = @original_DataInserimento"
InsertCommand="INSERT INTO [TerapiaMotivi] ([IdUtente], [Chiuso], [nNosografico], [Rep], [SuVideatInfettivologico], [DataInizioUsoATB], [DataFineUsoATB], [MotivoInizioATB], [MotivoFineATB], [Inseritore], [DataInserimento]) VALUES (@IdUtente, @Chiuso, @nNosografico, @Rep, @SuVideatInfettivologico, @DataInizioUsoATB, @DataFineUsoATB, @MotivoInizioATB, @MotivoFineATB, @Inseritore, @DataInserimento)"
OldValuesParameterFormatString="original_{0}" SelectCommand="SELECT * FROM [TerapiaMotivi] WHERE ([IdUtente] = @IdUtente) ORDER BY [DataInizioUsoATB] DESC, [DataFineUsoATB] DESC"
UpdateCommand="UPDATE [TerapiaMotivi] SET [IdUtente] = @IdUtente, [Chiuso] = @Chiuso, [nNosografico] = @nNosografico, [Rep] = @Rep, [SuVideatInfettivologico] = @SuVideatInfettivologico, [DataInizioUsoATB] = @DataInizioUsoATB, [DataFineUsoATB] = @DataFineUsoATB, [MotivoInizioATB] = @MotivoInizioATB, [MotivoFineATB] = @MotivoFineATB, [Inseritore] = @Inseritore, [DataInserimento] = @DataInserimento WHERE [IdMotivi] = @original_IdMotivi AND [IdUtente] = @original_IdUtente AND [Chiuso] = @original_Chiuso AND [nNosografico] = @original_nNosografico AND [Rep] = @original_Rep AND [SuVideatInfettivologico] = @original_SuVideatInfettivologico AND [DataInizioUsoATB] = @original_DataInizioUsoATB AND [DataFineUsoATB] = @original_DataFineUsoATB AND [MotivoInizioATB] = @original_MotivoInizioATB AND [MotivoFineATB] = @original_MotivoFineATB AND [Inseritore] = @original_Inseritore AND [DataInserimento] = @original_DataInserimento">
<DeleteParameters>
<asp:Parameter Name="original_IdMotivi" Type="Int32" />
<asp:Parameter Name="original_IdUtente" Type="Int32" />
<asp:Parameter Name="original_Chiuso" Type="Boolean" />
<asp:Parameter Name="original_nNosografico" Type="String" />
<asp:Parameter Name="original_Rep" Type="String" />
<asp:Parameter Name="original_SuVideatInfettivologico" Type="Boolean" />
<asp:Parameter Name="original_DataInizioUsoATB" Type="DateTime" />
<asp:Parameter Name="original_DataFineUsoATB" Type="DateTime" />
<asp:Parameter Name="original_MotivoInizioATB" Type="String" />
<asp:Parameter Name="original_MotivoFineATB" Type="String" />
<asp:Parameter Name="original_Inseritore" Type="String" />
<asp:Parameter Name="original_DataInserimento" Type="DateTime" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="IdUtente" Type="Int32" />
<asp:Parameter Name="Chiuso" Type="Boolean" />
<asp:Parameter Name="nNosografico" Type="String" />
<asp:Parameter Name="Rep" Type="String" />
<asp:Parameter Name="SuVideatInfettivologico" Type="Boolean" />
<asp:Parameter Name="DataInizioUsoATB" Type="DateTime" />
<asp:Parameter Name="DataFineUsoATB" Type="DateTime" />
<asp:Parameter Name="MotivoInizioATB" Type="String" />
<asp:Parameter Name="MotivoFineATB" Type="String" />
<asp:Parameter Name="Inseritore" Type="String" />
<asp:Parameter Name="DataInserimento" Type="DateTime" />
<asp:Parameter Name="original_IdMotivi" Type="Int32" />
<asp:Parameter Name="original_IdUtente" Type="Int32" />
<asp:Parameter Name="original_Chiuso" Type="Boolean" />
<asp:Parameter Name="original_nNosografico" Type="String" />
<asp:Parameter Name="original_Rep" Type="String" />
<asp:Parameter Name="original_SuVideatInfettivologico" Type="Boolean" />
<asp:Parameter Name="original_DataInizioUsoATB" Type="DateTime" />
<asp:Parameter Name="original_DataFineUsoATB" Type="DateTime" />
<asp:Parameter Name="original_MotivoInizioATB" Type="String" />
<asp:Parameter Name="original_MotivoFineATB" Type="String" />
<asp:Parameter Name="original_Inseritore" Type="String" />
<asp:Parameter Name="original_DataInserimento" Type="DateTime" />
</UpdateParameters>
<SelectParameters>
<asp:SessionParameter Name="IdUtente" SessionField="IDUT" Type="Int32" />
</SelectParameters>
<InsertParameters>
<asp:Parameter Name="IdUtente" Type="Int32" />
<asp:Parameter Name="Chiuso" Type="Boolean" />
<asp:Parameter Name="nNosografico" Type="String" />
<asp:Parameter Name="Rep" Type="String" />
<asp:Parameter Name="SuVideatInfettivologico" Type="Boolean" />
<asp:Parameter Name="DataInizioUsoATB" Type="DateTime" />
<asp:Parameter Name="DataFineUsoATB" Type="DateTime" />
<asp:Parameter Name="MotivoInizioATB" Type="String" />
<asp:Parameter Name="MotivoFineATB" Type="String" />
<asp:Parameter Name="Inseritore" Type="String" />
<asp:Parameter Name="DataInserimento" Type="DateTime" />
</InsertParameters>
</asp:SqlDataSource>
<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:ClubConnectionString %>"
SelectCommand="SELECT [MotivoFineATB] FROM [MotiviFineTrattamento]"></asp:SqlDataSource>

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.