432 messaggi dal 31 gennaio 2007
mi da il seguente errore

SelectedValue in 'ddlInternaluser' non valido, poiché non è incluso nell'elenco di elementi.
Nome parametro: value
ed io ho inserito

SelectedValue='<%# Bind("InternalUser") %>'

può essere dato dal fatto che il campo sia vuoto?

Modificato da zaffoo il 09 maggio 2007 16.29 -
si è possibile.

hai due vie, quella semplice è inserire nel db non null ma 0 o -1 naturalmente poi questo valore dovrà trovarsi nella sorgente dai della DDL.

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
432 messaggi dal 31 gennaio 2007
nostromo ha scritto:
si è possibile.

hai due vie, quella semplice è inserire nel db non null ma 0 o -1 naturalmente poi questo valore dovrà trovarsi nella sorgente dai della DDL.

ciao marco


si ma non è il mio problema...

io devo semplicemente scegliere da una dropdownlist ed aggiornare con il suo valore un campo della gridview...è questo che non mi si avvera....

quando vado in modifica... e seleziono una riga della dropdownlist al momento in cui aggiorno e quindi dovrebbe inserire il valore della drop nel campo del gridview non succede ed il campo assume valore NULL...

grazie
432 messaggi dal 31 gennaio 2007
ti riposto lo script ancora più pulito

<asp:SqlDataSource ID="srcCommandeNuove" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
SelectCommand = "SELECT * FROM [CustomerOrderFile]"
UpdateCommand = "UPDATE [CustomerOrderFile] SET [InternalUser] = @InternalUser WHERE [idOrder] = @idOrder">
<UpdateParameters>
<asp:Parameter Name="InternalUser" Type="String" />
<asp:Parameter Name="idOrder" Type="Int32" />
</UpdateParameters>
</asp:SqlDataSource>
<asp:SqlDataSource ID="srcAmministratori" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>"
ProviderName="<%$ ConnectionStrings:ConnectionString.ProviderName %>"
SelectCommand="SELECT [UsernameL] FROM [Users] ORDER BY [UsernameL]" >
</asp:SqlDataSource>

<asp:GridView ID="GridView1" runat="server" DataSourceID="srcCommandeNuove" DataKeyNames="idOrder"
AutoGenerateColumns="False" >
<Columns>
<asp:CommandField ShowEditButton="True" EditText="Assegna" />
<asp:TemplateField SortExpression="InternalUser" HeaderText="Internaluser">
<ItemTemplate>
<asp:Label ID="lbInternaluser" runat="server" Text='<%# Eval("InternalUser") %>'></asp:Label>
</ItemTemplate>
<ItemStyle CssClass="colonne" />
<EditItemTemplate>
<asp:DropDownList ID="ddlInternaluser" runat="server" DataSourceID="srcAmministratori" DataTextField="UsernameL" DataValueField="UsernameL" />
</EditItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="idorder" ReadOnly="true" SortExpression="idorder" >
<ItemStyle CssClass="colonne" /></asp:BoundField>
</Columns>
</asp:GridView>


domanda da inespertissimo, ma come fa sapere quale dato riprendere per i parametri dell'update....?
Modificato da zaffoo il 09 maggio 2007 16.44 -
ok è più pulito ma manca sempre Bind ecc ecc.

come fa a saperlo? proprio tramite l'epressione '<%# Bind("IDGenere") %>'.

per le BoundField il discorso è leggermente diverso ma in linea di massima il funzionamento è il solito.

il GridView genera una collezione che contiene nome campo e il suo valore, la passa al SqlDataSource che eventualmente la fonde con la collezione dei parametri specificat tra i tag UpdateParameters.

per ogni elemento della collezione viene generato un parametro che verrà utilizzato per la query sql.

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
432 messaggi dal 31 gennaio 2007
Scusa Nostromo, ti ho fatto perdere un sacco di tempo, ma solo ora capisco il funzionamento, se ho un campo con già dei dati uguali a quelli contenuti in una possibile dropdownlist, funziona infatti ho provato ed è così, se invece in campo non contiene nessun dato in questo modo non è possibile andare ad inserire emdiante una dropèdownlist perchè il slectvalue darà errore...
grazie capo...

ora dovrò trovare il modo di farlo a mano...

ti ringrazio ancora....
Modificato da zaffoo il 09 maggio 2007 17.04 -
di niente e non ti preoccupare nessuna perdita di tempo, se non potevo semplicemente non rispondevo

comunque considera di risolvere il problema aggiungento un valore neutro nel db al posto del null, aggiungi poi anche un valore neutro alla DropDownList.

l'alternativa è creare un event handler per gestire in update i valori null.

ciao marco

Chi parla senza modestia troverà difficile rendere buone le proprie parole.
Confucio

http://nostromo.spaces.live.com/default.aspx
2 messaggi dal 26 febbraio 2007
Ciao, io ho lo stesso problema.....
non riesco a caricare il valore della ddl nel campo della griglia.

mi potreste dare un consiglio.....
in allegato invio il test della paginetta....
grazie in anticipo

<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True"
DataSourceID="sqsRespConn">
<Columns>
<asp:CommandField ButtonType="Button" ShowDeleteButton="True" ShowEditButton="True"
ShowInsertButton="True" />
<asp:TemplateField HeaderText="S_PROVINCIA" SortExpression="S_PROVINCIA">
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("S_PROVINCIA") %>'></asp:TextBox>
<asp:DropDownList ID="ddlProv" runat="server" DataTextField="s_denominazione" DataValueField="s_denominazione"
DataSourceID="sdsProv" SelectedValue='<%# Bind("S_PROVINCIA") %>'
autopostback="true" onselectedindexchanged="PageDropDownList_SelectedIndexChanged"
OnTextChanged="ddlProv_TextChange" ></asp:DropDownList>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("S_PROVINCIA") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="sqsRespConn" runat="server" ConnectionString="<%$ ConnectionStrings:connStrOrinSVI %>"
DeleteCommand='DELETE FROM "RESPONSABILI_CONN" WHERE "ID_RESPONSABILE_CONN" = :ID_RESPONSABILE_CONN'
InsertCommand='INSERT INTO "RESPONSABILI_CONN" ("ID_RESPONSABILE_CONN", "S_RAG_SOCIALE", "S_INDIRIZZO", "S_PROVINCIA") VALUES (:ID_RESPONSABILE_CONN, :S_RAG_SOCIALE, :S_INDIRIZZO, :S_PROVINCIA)'
ProviderName="<%$ ConnectionStrings:connStrOrinSVI.ProviderName %>" SelectCommand='SELECT "ID_RESPONSABILE_CONN", "S_RAG_SOCIALE", "S_INDIRIZZO", "S_PROVINCIA" FROM "RESPONSABILI_CONN"'
UpdateCommand='UPDATE "RESPONSABILI_CONN" SET "S_RAG_SOCIALE" = :S_RAG_SOCIALE, "S_INDIRIZZO" = :S_INDIRIZZO, "S_PROVINCIA" = :S_PROVINCIA WHERE "ID_RESPONSABILE_CONN" = :ID_RESPONSABILE_CONN'>
<DeleteParameters>
<asp:Parameter Name="ID_RESPONSABILE_CONN" Type="String" />
</DeleteParameters>
<UpdateParameters>
<asp:Parameter Name="S_RAG_SOCIALE" Type="String" />
<asp:Parameter Name="S_INDIRIZZO" Type="String" />
<asp:Parameter Name="S_PROVINCIA" Type="String" />
<asp:Parameter Name="ID_RESPONSABILE_CONN" Type="String" />
</UpdateParameters>
<InsertParameters>
<asp:Parameter Name="ID_RESPONSABILE_CONN" Type="String" />
<asp:Parameter Name="S_RAG_SOCIALE" Type="String" />
<asp:Parameter Name="S_INDIRIZZO" Type="String" />
<asp:Parameter Name="S_PROVINCIA" Type="String" />
</InsertParameters>
</asp:SqlDataSource>
&nbsp;&nbsp;
<asp:SqlDataSource ID="sdsProv" runat="server" ConnectionString="<%$ ConnectionStrings:connStrOrinSVI %>"
ProviderName="<%$ ConnectionStrings:connStrOrinSVI.ProviderName %>" SelectCommand='SELECT "S_DENOMINAZIONE" FROM "T_PROVINCE" ORDER BY "S_DENOMINAZIONE"'>
</asp:SqlDataSource>

Saluti
Urioni Massimiliano

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.