0

詳細:

私は基本的にここの例の機能(http://demos.telerik.com/aspnet-ajax/grid/examples/dataediting/editondblclick/defaultvb.aspx)を自分のサイトに実装しようとしていますが、代わりにページマークアップにあるデータソース管理(例:SessionDataSourceのように)では、サーバーの分離コードから取得したデータセットを使用しています。ドロップダウンが正常に入力された状態で、ダブルクリックした行を編集モードに正常に入れることができますが、別の行をクリックして編集モードの行を更新する場合は、ダイスなしです。

クライアント側のJavaScript関数updateItem()が当初考えていたようにAJAXコールバックを開始しないことを発見したので、それを回避しようとしています。現在、RadAjaxManagerを使用して、次のような行インデックス番号でAJAXコールバックを実行しています。

        function RowClick(sender,eventArgs)
        {
            if(editedRow && hasChanges)
            {
                hasChanges = false;
                $find("<%= RAM.ClientID %>").ajaxRequest(editedRow);
            }
        }

これにより、サーバーコードが表示されます。素晴らしい。だが、

問題:編集された行に対して取得しようとしているGridDataItemセルテキストの値がすべて「&nbsp;」であるため、何か間違ったものにアクセスしている必要があります。

    Dim gdi As GridDataItem = FieldOpsScheduler.Items(rowIndex)
    Dim d As DateTime = DateTime.Parse(gdi.Item("EndDate").Text) //<--FAIL

私は何時間もインターネットを精査していて、自分がやろうとしていることをどうやってやってのけることができるかを見つけようとしていますが、役に立たないのです。

追加情報:フロントサイドでGridDropDownListColumnEditorsを使用して、次のように宣言されたテーブルの編集を行っています。

<telerik:GridDropDownListColumnEditor ID="ddlce_SunAct" runat="server" DropDownStyle-Width="60px"></telerik:GridDropDownListColumnEditor>

では、RadGridで変更された値にアクセスするために私が何をしなければならないかについて誰かが何か考えを持っていますか?新しい行をクリックしたときにRadGridを再バインドする必要があるという問題はありますか?もしそうなら、どうすればいいですか?任意の解決策やアイデアをいただければ幸いです。(また、私はVB.NETでこれを行っていますが、私も理解しているので、必要に応じてC#で応答を記述してください。:-))よろしくお願いします。

4

2 に答える 2

1

手動バインドでも updateItem() はグリッドの UpdateCommand サーバー イベントを発生させる必要がありますが、手動でグリッド ソースを更新する必要があります。Telerik AJAX コントロールのインストール先であるオンライン デモのローカル バージョンを変更し、そこから移動します。

ディック

于 2010-07-09T14:40:54.300 に答える
0

http://www.telerik.com/help/aspnet-ajax/grdaccessingcellsandrows.html

他の誰かが私と同じ問題を抱えている場合は、上記のリンクにアクセスして、「編集モードでセルの値にアクセスする」というタイトルのセクションまでスクロールしてください。

于 2010-07-09T15:40:08.163 に答える