Telerik radGrid - データソースのデータセットを=使用時のAllowAutomaticUpdatesを行うことが可能?

StackOverflow https://stackoverflow.com/questions/488039

質問

私は(私はセッションに保存されていることを)データセットに私のradGridのデータソースを設定しています。

(以下のコードを参照)など、私がAllowAutomaticUpdatesを有効にしているとEnableViewStateは、NeedDataSourceを実装し、DatakeyNamesを設定します

しかし、私は[編集]ボタンを押して変更を行うと、更新リンクを押したときに、レコードが更新され、編集モードを残さない.....それだけで編集モードに留まり、そしてどのような種類のエラーは発生しません。

EnableViewstateとradGridもAutomaticUpdatesをサポートしているため、グリッドの変更は自動的にそれがバインドされているデータセットの中に押し込まれるのであれば、問題は....誰もが知っているんですか?

一つは、あなたがドキュメントを読むことができると思うだろうが、私は決定的な答えを見つけることができなかった。

おかげ

<時間>
<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
役に立ちましたか?

解決

要するに、遊んで一つのキーの問題がここにあります:

あなたがグリッドをバインドするデータソースコントロールを使用しているとき、「自動」の操作のみがサポートされています。そのののObjectDataSourceを含み、あなたがODSであなたのDALを使用して、自動アップサート/更新をサポートすることができます/削除しますので。

データテーブルに直接結合する場合は、

は、手動で更新を処理しなければなりません。それは、データ・ソースは、CRUD操作のための「オート」のロジックを提供しているRadGrid-ないcontrols-だからです。幸いにも、それはそれはあなたが好むパスだ場合は、手動で更新を処理するために、難しいことではありません。例についてはTelerik.com上のデモのいくつかをチェックアウト:

http://demos.telerik.com/ ASPNET-AJAX /グリッド/例/ dataediting / editmodes / defaultcs.aspx

あなたがしたい場合は、

また、無効のViewStateとRadGridを使用することができます。それを行うための最善の方法は、(それはあなたがサービス層を介して、あなたのDALを公開することを必要としないが)、クライアント側のデータバインディングのためのグリッドのサポートを使用することです。ここではそのアプローチのためのデモをチェックアウト:

http://demos.telerik.com/ ASPNET-AJAX /グリッド/例/クライアント/ insertupdatedelete / defaultcs.aspxする

役に立てば幸い! -Todd

他のヒント

あなたの質問はすでにTelerikフォーラムで回答されています:

<のhref = "http://www.telerik.com/community/forums/aspnet/grid/is-it-possible-to-do-automaticupdates-to-a-dataset.aspx" のrel = "nofollowをnoreferrer "> http://www.telerik.com/community/forums/aspnet/grid/is-it-possible-to-do-automaticupdates-to-a-dataset.aspx の

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top