2010-10-26 26 views
0

J'ai un problème avec Radgrid .. Im utilisant un Radgrid pour afficher des résultats où l'utilisateur peut modifier/mettre à jour/supprimer les. J'utilise une seule table SQL Server 2000 pour récupérer les résultats ... Je ne sais pas pourquoi les événements ne se déclenchent pas dans radgrid. Mais je suis capable de le faire en utilisant avec succès le contrôle GridView ...Radgrid modifier/mettre à jour ne fonctionne pas

Im en utilisant le framework .NET 4

Code RadGrid

<telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="False" AutoGenerateDeleteColumn="True" 
     AutoGenerateEditColumn="True" DataSourceID="SSDS" GridLines="None" Width="844px" 
     DataMember="DefaultView"> 
     <MasterTableView DataSourceID="SSDS" DataKeyNames="id"> 
      <Columns> 
       <telerik:GridBoundColumn DataField="id" HeaderText="id" ReadOnly="True" SortExpression="id" 
        UniqueName="id" Visible="false"> 
       </telerik:GridBoundColumn> 
       <telerik:GridBoundColumn DataField="name" HeaderText="name" SortExpression="name" 
        UniqueName="name"> 
       </telerik:GridBoundColumn> 
       <telerik:GridBoundColumn DataField="address" HeaderText="address" SortExpression="address" 
        UniqueName="address"> 
       </telerik:GridBoundColumn> 
      </Columns> 
     </MasterTableView> 
    </telerik:RadGrid> 
    <br /> 
    <br /> 
    <asp:SqlDataSource ID="SSDS" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionStringSQL %>" 
     ProviderName="<%$ ConnectionStrings:ConnectionStringSQL.ProviderName %>" SelectCommand="SELECT [id], [name], [address] FROM [sitelinks]" 
     UpdateCommand="UPDATE [sitelinks] set [name] = ? , [address] = ? where [id] = ?" 
     DeleteCommand="delete from sitelinks where id = ?"> 
     <DeleteParameters> 
      <asp:Parameter Name="id" /> 
     </DeleteParameters> 
     <UpdateParameters> 
      <asp:Parameter Name="name" /> 
      <asp:Parameter Name="address" /> 
      <asp:Parameter Name="id" /> 
     </UpdateParameters> 
    </asp:SqlDataSource> 

code de contrôle GridView (celui cela fonctionne)

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SSDS" 
    DataKeyNames="id"> 
    <Columns> 
     <asp:CommandField ShowDeleteButton="True" ShowEditButton="True" /> 
     <asp:BoundField DataField="id" HeaderText="id" InsertVisible="False" ReadOnly="True" 
      SortExpression="id" Visible="false" /> 
     <asp:BoundField DataField="name" HeaderText="name" SortExpression="name" /> 
     <asp:BoundField DataField="address" HeaderText="address" SortExpression="address" /> 
    </Columns> 
</asp:GridView> 
<asp:SqlDataSource ID="SSDS" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionStringSQL %>" 
    DeleteCommand="delete from sitelinks where id = ?" ProviderName="<%$ ConnectionStrings:ConnectionStringSQL.ProviderName %>" 
    SelectCommand="select id,name,address from sitelinks" UpdateCommand="update sitelinks set name=?, address=? where id = ? "> 
    <UpdateParameters> 
     <asp:ControlParameter ControlID="GridView1" Name="name" /> 
     <asp:ControlParameter ControlID="GridView1" Name="address" /> 
     <asp:ControlParameter ControlID="GridView1" Name="id" /> 
    </UpdateParameters> 
    <DeleteParameters> 
     <asp:ControlParameter ControlID="GridView1" Name="id" /> 
    </DeleteParameters> 
</asp:SqlDataSource> 

Merci

Répondre

3

Définissez les propriétés AllowAutomaticUpdates/AllowAutomaticDeletes de la grille telerik sur true et consultez this sample.