2

元の投稿

2 以下の追加編集

ページに RADGrid がありますが、ユーザーがグリッド内のいずれかのコントロール、ページ送り/戻る、ページ番号、ページサイズ、更新、チェックボックス行セレクターなどをクリックすると、ページ全体が更新されます。グリッド自体だけを更新したいと思います。オンラインで調べましたが、すべてクリックするための情報が見つからないようです。

私は DNN 6 を使用しており、プログラムで RADAJAXManager をページに登録しようとしました (欠落している場合、通常はそうです)。オンラインで EnableAJAX 設定について言及している人を見ましたが、その後、新しい Telerik コントロールでは減価償却されていることが判明したため、そのオプションは除外されました。そこで、AddAjaxSetting() メソッドを使用して AJAX 設定をプログラムで追加しようとしました。パラメータのバリエーションをいくつか試しましたが、何も起こりません。明らかに私は何か間違ったことをしています...私は完全に間違った場所を見ていますか?

RADGrid を AJAXPanel で囲んでみましたが、更新時にページ全体が「点滅」するのではなく、RADGrid が完全に消えてから再び表示されるという問題がありました。私は Telerik サイトでいくつかのデモを見ましたが、彼らが RADGrid で回転する円の更新方法を RADGrid だけに使用する方法を知りません。

ページの「Support Partial Rendering」を true に設定しようとしましたが、ページ全体が回転する円で灰色になります。Telerik Demoで示されているのと同じ動作を模倣したいだけです。

ヘルプ!!!::欲求不満::

手がかりや提案はありますか?

編集 2012 年 4 月 18 日 @ 午後 7 時 48 分 EST

次のコードを使用して、カスタム ユーザー コントロールを配置するページに RADAjaxManager (見つからない場合) を作成しています。

Private Sub RegisterRADAjaxManager(ByVal p_objPage As Page)
    '***************************************
    ' Register RAD AJAX Manager (If Missing)
    '***************************************
    Dim objRADAJAXManager As Telerik.Web.UI.RadAjaxManager = Telerik.Web.UI.RadAjaxManager.GetCurrent(p_objPage)

    '***************************************
    ' If RADAJAXManager Is Missing, Add It
    '***************************************
    If (objRADAJAXManager Is Nothing) Then
        objRADAJAXManager = New Telerik.Web.UI.RadAjaxManager
        objRADAJAXManager.ID = "RADAJAXManager"
        p_objPage.Form.Controls.Add(objRADAJAXManager)
    End If 
End Sub

次のコードを使用して、Ajax 設定を追加します。

'***************************************
' Register RADGrid w/ RADAJAXManager
'***************************************
With TekkGrid.GetCurrentRADAJAXManager(Me.Page)
    .AjaxSettings.AddAjaxSetting(Me.gridMain, Me.gridMain)
    .AjaxSettings.AddAjaxSetting(Me.gridMain, Me.RADLoadingPanel)
End With

私のASCXファイルには次のものがあります:

<Telerik:RadGrid ID="gridMain" runat="server" />
<telerik:RadAjaxLoadingPanel ID="RADLoadingPanel" runat="server">
</telerik:RadAjaxLoadingPanel>

何か不足していますか?

編集 2012 年 4 月 19 日 @ 8:56AM EST

ユーレカ!私はそれを考え出した。私の問題はとてもばかげたものでした。IsPostBack かどうかをチェックする Page_Load() イベントに IF ステートメントがあります。IsPostPack = False の場合にのみ、RADAjaxManager に AjaxSettings を登録していました。PostBack ごとに RADAjaxManager が再作成されていることを認識していなかったので、すべての AjaxSettings を失っていたので、AjaxSettings 登録を行うメソッドを IF ステートメントの外に移動して、ページの読み込みごとに常に実行されるようにしました。 ! 出来た!

1)「グループ化」機能をテストしましたが、機能します...列をドラッグすると、ドラッグされている列が「表示」されません。列をドラッグしているときに表示されるのは、「十字線」カーソルだけです。デモでは、列名が入ったボックスをドラッグし始めるとボックスが表示されるので、「ドラッグ/ドロップ」機能を視覚的に体験できます。どうすれば同じ機能を取得できますか? 誰でも知っていますか?

4

1 に答える 1

1

モジュールコントロールを「部分レンダリングをサポート」としてマークすると、DNNはモジュールをでラップしますRadAjaxPanel。これは間違いなく最も簡単な方法であり、フレームワークが提供/期待するものに最も準拠しています。

ポストバック中にページをグレーアウトさせたくない場合は、スタイルを調整する必要があります(サイト全体の一貫性を保つために、おそらくポータル/スキンレベルで)。したがって、スキンがIDでサイト全体をラップしている場合はMySkin、このCSSを使用して、更新の進行状況の表示のスタイルを変更できます。

#MySkin .RadAjax .raTransp {display:none;}

アップデート

更新の進行状況インジケーターをグリッド上にのみ表示するには、デモRadAjaxManagerのようにとの組み合わせを使用してみてください。何かのようなもの:RadAjaxLoadingPanel

<telerik:RadAjaxManager runat="server">
    <AjaxSettings>
        <telerik:AjaxSetting AjaxControlID="RadGrid1">
            <UpdatedControls>
                <telerik:AjaxUpdatedControl ControlID="RadGrid1" LoadingPanelID="RadAjaxLoadingPanel1" />
            </UpdatedControls>
        </telerik:AjaxSetting>
    </AjaxSettings>
</telerik:RadAjaxManager>
<telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" />
于 2012-04-18T17:52:54.663 に答える