gpt4 book ai didi

asp.net - Telerik radGrid - 当数据源=数据集时可以使用AllowAutomaticUpdates吗?

转载 作者:行者123 更新时间:2023-12-02 14:11:56 28 4
gpt4 key购买 nike

我正在将 radGrid 的数据源设置为数据集(我已存储在 session 中)。我启用了AllowAutomaticUpdates和EnableViewState,实现了NeedDataSource,设置了DatakeyNames等(见下面的代码)

但是,当我按“编辑”按钮并进行更改并按“更新”链接时,记录不会更新并离开编辑模式......它只是保持在编辑模式,并且不会发生任何类型的错误。

所以,问题是......有谁知道带有 EnableViewstate 的 radGrid 是否支持自动更新,因此网格中的更改将自动推送到其绑定(bind)的数据集中?

有人会认为您可以阅读文档,但我一直无法找到明确的答案。

谢谢

<小时/>
<telerik:Radgrid id="grid" runat="server" AllowPaging="True" AllowSorting="True" AllowAutomaticUpdates="true" 
AutoGenerateEditColumn="True" GridLines="None" >

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
Dim data As New DataGateway
Dim ds As DataSet = data.GetEmployeesByProgram(Year:=2009, ProgramName:="Long Term Incentive Stock Program")
Dim dt As DataTable = ds.Tables(0)
ds.Tables(0).PrimaryKey = New DataColumn() {dt.Columns("EmployeeNum"), dt.Columns("ProgramName"), dt.Columns("Year")}
Session("datasource") = ds
With Me.grid
.AllowAutomaticUpdates = True
.AutoGenerateColumns = True
.AllowSorting = True
.AutoGenerateEditColumn = True
.EnableViewState = True 'IS REQUIRED!!!
Me.grid.MasterTableView.AllowAutomaticUpdates = True
Me.grid.MasterTableView.EditMode = GridEditMode.InPlace
End With
End If
End Sub




Private Sub grid_NeedDataSource(ByVal source As Object, ByVal e As Telerik.Web.UI.GridNeedDataSourceEventArgs) Handles grid.NeedDataSource
Debug.WriteLine("NeedDataSource: " & e.RebindReason.ToString)
Dim ds As DataSet = CType(Session("datasource"), DataSet)
Me.grid.MasterTableView.DataKeyNames = New String() {"EmployeeNum", "ProgramName", "Year"}
Me.grid.DataSource = ds

End Sub

最佳答案

简而言之,这里有一个关键问题:

仅当您使用数据源控件绑定(bind)网格时才支持“自动”操作。其中包括 ObjectDataSource,因此您可以将 DAL 与 ODS 结合使用,然后支持自动更新插入/更新/删除。

直接绑定(bind)到数据表时,您必须手动处理更新。这是因为是数据源控件(而不是 RadGrid)为 CRUD 操作提供“自动”逻辑。幸运的是,如果您愿意的话,手动处理更新并不困难。查看 Telerik.com 上的一些演示作为示例:

http://demos.telerik.com/aspnet-ajax/grid/examples/dataediting/editmodes/defaultcs.aspx

如果需要,您还可以在禁用 ViewState 的情况下使用 RadGrid。最好的方法是使用网格对客户端数据绑定(bind)的支持(尽管这确实要求您通过服务层公开 DAL)。在这里查看该方法的演示:

http://demos.telerik.com/aspnet-ajax/grid/examples/client/insertupdatedelete/defaultcs.aspx

希望有帮助!-托德

关于asp.net - Telerik radGrid - 当数据源=数据集时可以使用AllowAutomaticUpdates吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/488039/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com