Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
Problemi con GridView
venerdì 07 novembre 2008 - 17.34
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
satomi
Profilo
| Junior Member
60
messaggi | Data Invio:
ven 7 nov 2008 - 17:34
Ciao a tutti
Ho un problema con la GridView. ho creato la gridview e al suo interno ci sono dei EditItemTemplate che utilizzano dei DropDownList, il problema è che quando faccio l'Update non funziona
provo a postare un po' di codice magari capite meglio:
<asp:GridView ID="GridView1" runat="server" DataKeyNames="id_permessi" AutoGenerateColumns="False"
DataSourceID="SqlDataSource1" Width="577px" OnRowUpdated="GridView1_RowUpdated">
<Columns>
<asp:BoundField DataField="id_permessi" HeaderText="id_permessi"
SortExpression="id_permessi" Visible="true" ReadOnly="True" />
<asp:BoundField DataField="id_utente" HeaderText="id_utente"
SortExpression="id_utente" Visible="False" />
<asp:BoundField DataField="id_cc_divisioni" HeaderText="id_cc_divisione"
SortExpression="id_cc_divisione" Visible="False">
<HeaderStyle CssClass="tdintestazione" />
<ItemStyle CssClass="tdtxt" />
</asp:BoundField>
<asp:TemplateField SortExpression="nome_divisione" ItemStyle-CssClass="tdtxt" HeaderStyle-CssClass="tdintestazione" HeaderText="Divisione/Azienda" >
<EditItemTemplate>
<asp:DropDownList ID="id_cc_divisione" runat="server" CssClass="tdtxt" AutoPostBack="true" DataSourceID="SqlDataSource2" DataTextField="nome_divisione" DataValueField="id_cc_divisioni" SelectedValue='<%#DataBinder.Eval(Container.DataItem, "id_cc_divisioni")%> ' >
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource2" runat="server"
ConnectionString="<%$ ConnectionStrings:GroupwareConnectionString %>"
SelectCommand="SELECT id_cc_divisioni, nome_divisione FROM CC_divisioni WHERE (attivo = 1) ORDER BY nome_divisione" ></asp:SqlDataSource>
</EditItemTemplate>
<ItemTemplate ><%#DataBinder.Eval(Container.DataItem, "nome_divisione")%> </ItemTemplate>
<HeaderStyle CssClass="tdintestazione"></HeaderStyle>
<ItemStyle CssClass="tdtxt"></ItemStyle>
</asp:TemplateField>
<asp:BoundField DataField="id_cc_reparto" HeaderText="id_cc_reparto"
SortExpression="id_cc_reparto" Visible="False">
<HeaderStyle CssClass="tdintestazione" />
<ItemStyle CssClass="tdinput" />
</asp:BoundField>
<asp:TemplateField SortExpression="nome_reparto" ItemStyle-VerticalAlign="Middle" ItemStyle-CssClass="tdinput" HeaderStyle-CssClass="tdintestazione" HeaderText="Reparto" >
<EditItemTemplate>
<asp:DropDownList ID="reparto" runat="server" CssClass="tdinput" DataSourceID="SqlDataSource3" DataTextField="nome_reparto" DataValueField="id_cc_reparto" ><%-- ,"{0:int}" SelectedValue='<%#DataBinder.Eval(Container.DataItem, "id_cc_reparto")%> '--%>
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource3" runat="server"
ConnectionString="<%$ ConnectionStrings:GroupwareConnectionString %>"
SelectCommand="SELECT id_cc_reparto, nome_reparto FROM CC_reparto WHERE (attivo=1 and id_cc_aziende = @id_cc_aziende) " >
<SelectParameters>
<asp:ControlParameter ControlID="id_cc_divisione" Name="id_cc_aziende" PropertyName="SelectedValue" Type="Int16" />
</SelectParameters>
</asp:SqlDataSource>
</EditItemTemplate>
<ItemTemplate ><%#DataBinder.Eval(Container.DataItem, "nome_reparto")%> </ItemTemplate>
<HeaderStyle CssClass="tdintestazione"></HeaderStyle>
<ItemStyle VerticalAlign="Middle" CssClass="tdinput"></ItemStyle>
</asp:TemplateField>
<asp:BoundField DataField="id_funzioni_aziendali"
HeaderText="id_funzioni_aziendali" SortExpression="id_funzioni_aziendali"
Visible="False" />
<asp:TemplateField SortExpression="nome_funzione_esteso" ItemStyle-CssClass="tdtxt" HeaderStyle-CssClass="tdintestazione" HeaderText="Funzione Aziendale" >
<EditItemTemplate>
<asp:DropDownList ID="funzione_aziendale" runat="server" CssClass="tdtxt" DataSourceID="SqlDataSource4" DataTextField="nome_funzione_esteso" DataValueField="id_funzioni_aziendali" SelectedValue='<%#DataBinder.Eval(Container.DataItem, "id_funzioni_aziendali")%> ' >
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource4" runat="server"
ConnectionString="<%$ ConnectionStrings:GroupwareConnectionString %>"
SelectCommand="SELECT id_funzioni_aziendali, nome_funzione_esteso FROM funzioni_aziendali where id_funzioni_aziendali<>6 ORDER BY id_funzioni_aziendali DESC" ></asp:SqlDataSource>
</EditItemTemplate>
<ItemTemplate ><%#DataBinder.Eval(Container.DataItem, "nome_funzione_esteso")%> </ItemTemplate>
<HeaderStyle CssClass="tdintestazione"></HeaderStyle>
<ItemStyle CssClass="tdtxt"></ItemStyle>
</asp:TemplateField>
<asp:CommandField ButtonType="Image" CancelImageUrl="~/icone/v/annulla.gif"
DeleteImageUrl="~/icone/v/lente.gif" EditImageUrl="~/icone/v/lente.gif"
InsertImageUrl="~/icone/v/lente.gif" NewImageUrl="~/icone/v/lente.gif"
SelectImageUrl="~/icone/v/lente.gif" ShowEditButton="True"
UpdateImageUrl="~/icone/v/modifica.gif" UpdateText="" >
<HeaderStyle CssClass="tdintestazione" />
</asp:CommandField>
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:GroupwareConnectionString %>"
SelectCommand="FE_visualizza_permessi_utente"
SelectCommandType="StoredProcedure"
UpdateCommand="UPDATE permessi SET id_utente = @id_utente, id_cc_divisione = @id_cc_divisione, id_cc_reparto = @id_cc_reparto, tipo = @tipo WHERE (id_permessi = @id_permessi)" OnUpdated="SqlDataSource1_Updated">
<SelectParameters>
<asp:QueryStringParameter Name="id_utente" QueryStringField="id_utente"
Type="Int32" />
</SelectParameters>
<UpdateParameters>
<asp:QueryStringParameter Name="id_utente" QueryStringField="id_utente"
Type="Int32" Direction="input" />
<asp:ControlParameter ControlID="gridview1" Name="id_cc_divisione"
PropertyName="SelectedValue" Direction="input" />
<asp:ControlParameter ControlID="gridview1" Name="id_cc_reparto"
PropertyName="SelectedValue" Direction="input" />
<asp:ControlParameter ControlID="gridview1" Name="tipo"
PropertyName="SelectedValue" Direction="input" />
<asp:ControlParameter ControlID="gridview1" Name="id_permessi"
PropertyName="SelectedValue" Direction="input" />
</UpdateParameters>
</asp:SqlDataSource>
I parametri dell'update penso che non li prenda. Ho dato il valore anche al DataKeyNames che è la chiave della mia tabella.
Nel mio page load non faccio nessuna operazione.
Spero che qualcuno riesca a darmi una mano.
Grazie 1000
ciao
seanmhall
Profilo
| Newbie
41
messaggi | Data Invio:
lun 10 nov 2008 - 09:32
non ho molto tempo per adattare al tuo codice, ma guarda qua.
Inserisci nell'evento ItemUpdating della gridview
' Riferimento alla dropdown
Dim dropDown as DropDownList = Ctype(gridView1.FindControl("la tua drop") , DropDownList)
'C# DropDownList dropDown = (DropDownList)gridView1.FindControl("la tua drop");
'Usane il valore
e.NewValues("il tuo parametro") = dropDown .SelectedValue
'C# e.NewValues("il tuo parametro") == dropDown.SelectedValue;
Ciao,
Sean
p.s. (per l'insert devi usare e.Values)
Torna su
Stanze Forum
Elenco Threads
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 !