126 messaggi dal 14 aprile 2006
quando richiamo la modalità edit di una formview nel cui editItem template c'è una dropdopown list mi appare questo errore:

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

questo è il pezzo di codice dell'edit template

<asp:DropDownList ID="id_rubrica" runat="server" DataSourceID="rubriche" DataTextField="titolo" DataValueField="id_rubrica" SelectedValue='<%# Bind("id_rubrica") %>' />



sqldatasource del formview:

<asp:SqlDataSource ID="articolo_id" runat="server" ConnectionString="<%$ ConnectionStrings:intranet %>"
ProviderName="<%$ ConnectionStrings:intranet.ProviderName %>"
SelectCommand="SELECT * FROM articoli WHERE id_articolo=? "
UpdateCommand="UPDATE articoli SET titolo=?,data=?,testo=? WHERE id_articolo=?"
DeleteCommand="DELETE FROM articoli WHERE id_articolo=?"
InsertCommand="INSERT INTO articoli (titolo,data,testo,id_rubrica) VALUES (?,?,?,?)">
<SelectParameters>
<asp:QueryStringParameter Name="?" QueryStringField="id_articolo" />
</SelectParameters>
</asp:SqlDataSource>


sqldatasource del dropsownlist

<asp:SqlDataSource ID="rubriche" runat="server" ConnectionString="<%$ ConnectionStrings:intranet %>"
ProviderName="<%$ ConnectionStrings:intranet.ProviderName %>"
SelectCommand="SELECT id_rubrica,titolo FROm rubriche where id_parente=?">
<SelectParameters>
<asp:QueryStringParameter QueryStringField="id_rubrica" Name="?" />
</SelectParameters>
</asp:SqlDataSource>
l'errore è abbastanza chiaro, quando tenta di impostare il volore selezionato non lo trova.

strano il codice così come lo hai postato non mostra nulla di strano.

per curiosità tira fuori la DropDownList, inseriscina nella pagina e vede se viene popolata.

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
Ti esce quell'errore perchè nel campo del record che stai per Editare non è stato inserito nessun valore che possa essere collegato con la DDL....

mi spiego meglio
- inserisco un nuovo record in cui il campo "A" assume un valore che gli verrà asseganto successivamente (quindi all'inserimento risulta vuoto)
- success. voglio modificare quel record quindi voglio aggiornare il campo "A" attualmente vuoto...
- quasto campo verrà modificato mediante una DDL..
ecco l'errore se associo la DDL al campo ed il campo non a nessun valore contenuto nella DDl ...esce l'errore ....

quindi devi cercare o di valorizzare uttti i campi nel momento dell'insert..
oppure devi farti l'Update a mano in uno degli eventi gestiti dal Form...


Spero di esserti stato d'aiuto

Ciao
432 messaggi dal 31 gennaio 2007
zaffoo ha scritto:
Ti esce quell'errore perchè nel campo del record che stai per Editare non è stato inserito nessun valore che possa essere collegato con la DDL....

mi spiego meglio
- inserisco un nuovo record in cui il campo "A" assume un valore che gli verrà asseganto successivamente (quindi all'inserimento risulta vuoto)
- success. voglio modificare quel record quindi voglio aggiornare il campo "A" attualmente vuoto...
- quasto campo verrà modificato mediante una DDL..
ecco l'errore se associo la DDL al campo ed il campo non a nessun valore contenuto nella DDl ...esce l'errore ....

quindi devi cercare o di valorizzare uttti i campi nel momento dell'insert..
oppure devi farti l'Update a mano in uno degli eventi gestiti dal Form...


Spero di esserti stato d'aiuto

Ciao


Ho letto di fretta il tittolo e non il contenuto della richiesta..

chiedo umilmente scusa...
47 messaggi dal 09 luglio 2007
Mi aggiungo anch'io visto che mi dà lo stesso errore. Il codice della gridview è il seguente:
<Columns>
                <asp:BoundField DataField="IDFaldone" HeaderText="Codice" ReadOnly="True" SortExpression="Codice" />
                <asp:BoundField DataField="Tipo" HeaderText="Tipo" ReadOnly="True" SortExpression="Tipo" />
                <asp:TemplateField HeaderText="Area" SortExpression="Area">
                    <EditItemTemplate>
                        <asp:DropDownList ID="AreaDropDownList" runat="server" DataValueField="IDArea" DataTextField="Descrizione" 
                        SelectedValue='<%# DataBinder.Eval(Container.DataItem, "IDArea") %>'></asp:DropDownList>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="AreaLabel" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "IDArea") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Categoria" SortExpression="Categoria">
                    <EditItemTemplate>
                        <asp:DropDownList ID="CategoriaDropDownList" runat="server" DataValueField="IDCategoria" DataTextField="Descrizione" 
                        SelectedValue='<%# DataBinder.Eval(Container.DataItem, "IDCategoria") %>'></asp:DropDownList>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="CategoriaLabel" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "IDCategoria") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:BoundField DataField="Descrizione" HeaderText="Descrizione" SortExpression="Descrizione" />
                <asp:BoundField DataField="Proprietario" HeaderText="Proprietario" SortExpression="Proprietario" />
                <asp:TemplateField HeaderText="DataArchiviazione" SortExpression="DataArchiviazione">
                    <EditItemTemplate>
                        <asp:Calendar ID="DataArchiviazioneCalendar" runat="server" BackColor="White" BorderColor="#999999"
                            CellPadding="4" DayNameFormat="Shortest" FirstDayOfWeek="Monday" Font-Names="Verdana"
                            Font-Size="8pt" ForeColor="Black" Height="180px" SelectedDate='<%# DataBinder.Eval(Container.DataItem, "Data_Operazione") %>'
                            VisibleDate='<%# DataBinder.Eval(Container.DataItem, "Data_Operazione") %>' Width="200px">
                        </asp:Calendar>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="DataArchiviazioneLabel" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Data_Operazione") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:BoundField DataField="Anno" HeaderText="Anno" SortExpression="Anno" />
                <asp:TemplateField HeaderText="Mese" SortExpression="Mese">
                    <EditItemTemplate>
                        <asp:DropDownList ID="MeseDropDownList" runat="server" SelectedValue='<%# DataBinder.Eval(Container.DataItem, "Mese") %>'>
                            <asp:ListItem Value="00">Tutti</asp:ListItem>
                            <asp:ListItem Value="01">Gennaio</asp:ListItem>
                            <asp:ListItem Value="02">Febbraio</asp:ListItem>
                        </asp:DropDownList>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="MeseLabel" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Mese") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Sito" SortExpression="Sito">
                    <EditItemTemplate>
                        <asp:DropDownList ID="SitoDropDownList" runat="server" DataValueField="IDSito" DataTextField="Descrizione" 
                        SelectedValue='<%# DataBinder.Eval(Container.DataItem, "IDSito") %>'></asp:DropDownList>
                    </EditItemTemplate>
                    <ItemTemplate>
                        <asp:Label ID="SitoLabel" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "IDSito") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:CheckBoxField DataField="Imballo" HeaderText="Imballo" SortExpression="Imballo" />
                <asp:BoundField DataField="Ripiano_da" HeaderText="RipianoDa" SortExpression="RipianoDa" />
                <asp:BoundField DataField="Ripiano_a" HeaderText="RipianoA" SortExpression="RipianoA" ReadOnly="True"/>
                <asp:BoundField DataField="Carro" HeaderText="Carro" SortExpression="Carro" />
                <asp:BoundField DataField="Blocco" HeaderText="Blocco" SortExpression="Blocco" />
                <asp:BoundField DataField="Status" HeaderText="Status" ReadOnly="True" SortExpression="Status" />
                <asp:CommandField ButtonType="Button" EditText="Modifica" ShowEditButton="True" CancelText="Annulla" UpdateText="Conferma" />
            </Columns>


Quello dell'evento rowdatabound:
protected void GridView1_RowDataBound(Object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                if (e.Row.RowIndex == this.GridView1.EditIndex)
                {
                    DropDownList area = (DropDownList)e.Row.FindControl("AreaDropDownList");
                    area.DataSource = this.b.GetAree();
                    area.DataBind();
                    DropDownList sito = (DropDownList)e.Row.FindControl("SitoDropDownList");
                    sito.DataSource = this.b.GetSiti();
                    sito.DataBind();
                    DropDownList categoria = (DropDownList)e.Row.FindControl("CategoriaDropDownList");
                    categoria.DataSource = this.b.GetCategorie(Int16.Parse(area.SelectedValue));
                    categoria.DataBind(); 
                }
            }
        }

Il problema è che mi dà l'errore sulla riga immediatamente precedente a quella dove ho cliccato il pulsante modifica. E, se non ho capito male, l'Edit Template dovrebbe entrare in gioco solo sulla riga modificata... e credo proprio sia così, visto che le prime due righe vanno bene, mentre la terza (cioè quella prima di quella da modificare) va in errore... Forse sono stato un po' contorto..

Ciao,
N@poleone
"Le battaglie si vincono con gli uomini che si hanno, non con quelli che si vorrebbero" (Napoleone Bonaparte)
29 messaggi dal 20 maggio 2007
secondo me l'errore è nella proprietà dataValueFild del DropDownList che è settata all'id del DropDownList mentre dovrebbe essere settata al valore che vuoi associare al titolo che hai selezionato
Modificato da cianciana il 13 luglio 2007 09.40 -
cianciana ha scritto:
secondo me l'errore è nella proprietà dataValueFild del DropDownList che è settata all'id del DropDownList mentre dovrebbe essere settata al valore che vuoi associare al titolo che hai selezionato
Modificato da cianciana il 13 luglio 2007 09.40 -


mmm no dataValueFild viene prelevato dalla sorgente dati non fa riferimento hai controlli presenti nella pagina.

ciao marco

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

http://nostromo.spaces.live.com/default.aspx
47 messaggi dal 09 luglio 2007
Infatti secondo me il problema è questo:
mi dà l'errore sulla riga immediatamente precedente a quella dove ho cliccato il pulsante modifica...

cioè dove l'edit template non dovrebbe entrare in gioco...

Nessuna soluzione??

Ciao,
N@poleone
"Le battaglie si vincono con gli uomini che si hanno, non con quelli che si vorrebbero" (Napoleone Bonaparte)

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.