Sto gestendo una tabella (insert,delete,update) con gli oggetti gridview e detailview.
Cliccando il record della gridview da modificare viene visualizzata la detailview coi dati modificabili. Avrei bisogno di poter modificare anche il campo del codice (che è chiave primaria della detailview)... ma non ci riesco... le ho provate tutte... avete qualche idea?
Vi posto la pagina .aspx e la .aspx.cs
Pagina GestioneUtenti.aspx:
------------------------------------------------------------------------
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeBehind="GestioneTipiUtenti.aspx.cs" Inherits="GestioneTabella.GestioneTipiUtenti" %>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<h2>Gestione Tipi Utenti
</h2>
<asp:ScriptManager runat='server' ID='ScriptSenzaRicarico'>
</asp:ScriptManager>
<asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="TUCodice" DataSourceID="SqlDataSource1" Width="100%" PageSize="15" onpageindexchanged="GridView1_PageIndexChanged" onrowdeleted="GridView1_RowDeleted" onselectedindexchanged="GridView1_SelectedIndexCha nged" CellPadding="3" onrowdeleting="GridView1_RowDeleting">
<Columns>
<asp:BoundField DataField="TUCodice" HeaderText="Codice" ReadOnly="True" SortExpression="TUCodice" />
<asp:BoundField DataField="TUTipoUtente" HeaderText="Tipo Utente" SortExpression="TUTipoUtente" />
<asp:BoundField DataField="TUUrlPagina" HeaderText="Url pagina" SortExpression="TUUrlPagina" />
<asp:TemplateField ShowHeader="False" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:ImageButton ImageUrl="Images/modifica.gif" ID="ImageButton1" runat="server" CausesValidation="False" CommandName="Select"/><asp:Image ID="Image1" ImageUrl="Images/Separatore.gif" runat="server"/><asp:ImageButton ImageUrl="Images/cestino.gif" ID="ImageButton2" runat="server" CausesValidation="False" CommandName="Delete" OnClientClick="javascript:return confirm('Cancellare questo record?');"/>
</ItemTemplate>
<ItemStyle HorizontalAlign="Right"></ItemStyle>
</asp:TemplateField>
</Columns>
<PagerSettings Position="TopAndBottom" />
</asp:GridView>
<asp:ValidationSummary ValidationGroup="Salvataggio" ID="vErrors" DisplayMode="BulletList" ShowSummary="true" runat="server" ForeColor="Red"/>
<aspetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False"
DataSourceID="SqlDataSource2" Width="100%" DataKeyNames="TUCodice"
OnItemDeleted="DetailsView1_ItemDeleted"
OnItemInserted="DetailsView1_ItemInserted"
OnItemUpdated="DetailsView1_ItemUpdated" CellPadding="3" DefaultMode="Edit"
oniteminserting="DetailsView1_ItemInserting"
onitemupdating="DetailsView1_ItemUpdating"
ondatabound="DetailsView1_DataBound">
<Fields>
<asp:TemplateField HeaderText="Codice" SortExpression="TUCodice">
<EditItemTemplate>
<asp:TextBox ID="TUCodice" runat="server" Text='<%# Bind("TUCodice") %>'></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvTUCodice" ValidationGroup="Salvataggio" runat="server" ControlToValidate="TUCodice" ErrorMessage="Specificare il codice!" Display="Dynamic" SetFocusOnError="true" Text="*" />
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox ID="TUCodice" runat="server" Text='<%# Bind("TUCodice") %>'></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvTUCodice" ValidationGroup="Salvataggio" runat="server" ControlToValidate="TUCodice" ErrorMessage="Specificare il codice!" Display="Dynamic" SetFocusOnError="true" Text="*" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Tipo Utente" SortExpression="TUTipoUtente">
<EditItemTemplate>
<asp:TextBox ID="TUTipoUtente" runat="server" Text='<%# Bind("TUTipoUtente") %>'></asp:TextBox>
<asp:RequiredFieldValidator ID="rfvTUTipoUtente" ValidationGroup="Salvataggio" runat="server" ControlToValidate="TUTipoUtente" ErrorMessage="Specificare il tipo di utente!" Display="Dynamic" SetFocusOnError="true" Text="*" />
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="TUTipoUtente" runat="server" Text='<%# Bind("TUTipoUtente") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="TUUrlPagina" HeaderText="Url Pagina" SortExpression="TUUrlPagina" />
<asp:CommandField ValidationGroup="Salvataggio" ShowDeleteButton="True" ShowEditButton="True" ShowInsertButton="True" FooterStyle-HorizontalAlign="Right">
</asp:CommandField>
</Fields>
</aspetailsView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConflictDetection="CompareAllValues"
ConnectionString="<%$ ConnectionStringsatabaseConnectionString %>"
SelectCommand="SELECT * from TipiUtenti order by TUCodice"
DeleteCommand="DELETE FROM [TipiUtenti] WHERE (([TUCodice] = @original_TUCodice) OR ([TUCodice] IS NULL AND @original_TUCodice IS NULL))"
InsertCommand="INSERT INTO [TipiUtenti] ([TUCodice], [TUTipoUtente], [TUUrlPagina]) VALUES (?, ?, ?)"
OldValuesParameterFormatString="original_{0}"
ProviderName="<%$ ConnectionStringsatabaseConnectionString.ProviderName %>"
UpdateCommand="UPDATE [TipiUtenti] SET [TUCodice] = @original_TUCodice, [TUTipoUtente] = @original_TUTipoUtente, [TUUrlPagina] = @original_TUUrlPagina WHERE (([TUCodice] = @original_TUCodice) OR ([TUCodice] IS NULL AND @original_TUCodice IS NULL))"
>
<DeleteParameters>
<asp:Parameter Name="original_TUCodice" Type="String" />
<asp:Parameter Name="original_TUTipoUtente" Type="String" />
<asp:Parameter Name="original_TUTipoUtente" Type="String" />
<asp:Parameter Name="original_TUUrlPagina" Type="String" />
<asp:Parameter Name="original_TUUrlPagina" Type="String" />
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="TUCodice" Type="String" />
<asp:Parameter Name="TUTipoUtente" Type="String" />
<asp:Parameter Name="TUUrlPagina" Type="String" />
</InsertParameters>
<UpdateParameters>
<asp:Parameter Name="TUCodice" Type="String" />
<asp:Parameter Name="TUTipoUtente" Type="String" />
<asp:Parameter Name="TUUrlPagina" Type="String" />
<asp:Parameter Name="original_TUCodice" Type="String" />
<asp:Parameter Name="original_TUTipoUtente" Type="String" />
<asp:Parameter Name="original_TUTipoUtente" Type="String" />
<asp:Parameter Name="original_TUUrlPagina" Type="String" />
<asp:Parameter Name="original_TUUrlPagina" Type="String" />
</UpdateParameters>
</asp:SqlDataSource>
<asp:SqlDataSource ID="SqlDataSource2" runat="server"
ConflictDetection="CompareAllValues"
ConnectionString="<%$ ConnectionStringsatabaseConnectionString %>"
DeleteCommand="DELETE FROM [TipiUtenti] WHERE (([TUCodice] = @original_TUCodice) OR ([TUCodice] IS NULL AND @original_TUCodice IS NULL))"
InsertCommand="INSERT INTO [TipiUtenti] ([TUCodice], [TUTipoUtente], [TUUrlPagina]) VALUES (?, ?, ?)"
OldValuesParameterFormatString="original_{0}"
ProviderName="<%$ ConnectionStringsatabaseConnectionString.ProviderName %>"
SelectCommand="SELECT * from TipiUtenti WHERE ([TUCodice] = ?)"
UpdateCommand="UPDATE [TipiUtenti] SET [TUTipoUtente] = @original_TUTipoUtente, [TUUrlPagina] = @original_TUUrlPagina WHERE (([TUCodice] = @original_TUCodice) OR ([TUCodice] IS NULL AND @original_TUCodice IS NULL))"
>
<DeleteParameters>
<asp:Parameter Name="original_TUCodice" Type="String" />
<asp:Parameter Name="original_TUTipoUtente" Type="String" />
<asp:Parameter Name="original_TUTipoUtente" Type="String" />
<asp:Parameter Name="original_TUUrlPagina" Type="String" />
<asp:Parameter Name="original_TUUrlPagina" Type="String" />
</DeleteParameters>
<InsertParameters>
<asp:Parameter Name="TUCodice" Type="String" />
<asp:Parameter Name="TUTipoUtente" Type="String" />
<asp:Parameter Name="TUUrlPagina" Type="String" />
</InsertParameters>
<SelectParameters>
<asp:ControlParameter ControlID="GridView1" DefaultValue="" Name="TUCodice" PropertyName="SelectedValue" Type="String" />
</SelectParameters>
<UpdateParameters>
<asp:Parameter Name="TUCodice" Type="String" />
<asp:Parameter Name="TUTipoUtente" Type="String" />
<asp:Parameter Name="TUUrlPagina" Type="String" />
<asp:Parameter Name="original_TUCodice" Type="String" />
<asp:Parameter Name="original_TUCodice" Type="String" />
<asp:Parameter Name="original_TUTipoUtente" Type="String" />
<asp:Parameter Name="original_TUTipoUtente" Type="String" />
<asp:Parameter Name="original_TUUrlPagina" Type="String" />
<asp:Parameter Name="original_TUUrlPagina" Type="String" />
</UpdateParameters>
</asp:SqlDataSource>
</asp:Content>