Radgrid编辑/更新无法正常工作

时间:2010-10-26 23:48:25

标签: asp.net asp.net-ajax telerik radgrid

我遇到Radgrid的有线问题。我使用Radgrid显示一些结果,用户可以编辑/更新/删除它们。我正在使用单个SQL Server 2000表来获取结果...不确定为什么事件不在radgrid中触发。但我能够成功使用Gridview控件...

我正在使用.NET framework 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>

由于

1 个答案:

答案 0 :(得分:3)

将telerik网格的AllowAutomaticUpdates / AllowAutomaticDeletes属性设置为true,并查看this sample