2010-10-26 99 views
0

我遇到了Radgrid的有線問題..我使用Radgrid顯示一些結果,其中用戶可以編輯/更新/刪除它們。我正在使用單個SQL Server 2000表來獲取結果...不知道爲什麼這些事件不在radgrid中觸發。但我能夠成功地做到這一點使用GridView控件...Radgrid編輯/更新不起作用

進出口使用.NET框架4

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> 

GridView控件代碼(一那工作)

<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> 

謝謝

回答

3

將telerik網格的AllowAutomaticUpdates/AllowAutomaticDeletes屬性設置爲true,並參見this sample