2014-09-24 64 views
0

我正在使用RadTreeList來顯示項目,RadContextMenu(插入,更新,刪除),當右鍵單擊樹項目和RadWindowManager以幫助打開RadContextMenu上的彈出窗口項目單擊。當他們點擊「插入」或「更新」時,對話窗口會順利打開並保存,對話框將關閉,並且完全重新綁定。當他們單擊刪除時,我不需要打開一個窗口只需運行代碼刪除,然後RadTreeList.Rebind();RadAjaxManager不會允許我重新綁定我的RadTreeList

因爲我的RadAjaxManager中的這個項目,重新綁定將不起作用。它在這裏的原因是當點擊上下文菜單時對話框可以平滑地打開。

阿賈克斯設置搞亂的東西,但也使我的彈出窗口開啓順暢:

<telerik:AjaxSetting AjaxControlID="rcMenu"> 
    <UpdatedControls> 
     <telerik:AjaxUpdatedControl ControlID="RadWindowManager1" LoadingPanelID="RadAjaxLoadingPanel1"></telerik:AjaxUpdatedControl> 
    </UpdatedControls> 
</telerik:AjaxSetting> 

這裏是我有我的上下文菜單設置:

<telerik:RadContextMenu ID="rcMenu" runat="server" OnItemClick="rcMenu_ItemClick" EnableRoundedCorners="true" EnableShadows="true"> 
       <Items> 
        <telerik:RadMenuItem Text="Insert" Value="Insert"></telerik:RadMenuItem> 
        <telerik:RadMenuItem Text="Modify" Value="Edit"></telerik:RadMenuItem> 
        <telerik:RadMenuItem Text="Delete" Value="Delete"></telerik:RadMenuItem> 
       </Items> 
</telerik:RadContextMenu> 

    <telerik:RadWindowManager ID="RadWindowManager1" runat="server" EnableShadow="true" VisibleOnPageLoad="true" EnableViewState="false"> 
    </telerik:RadWindowManager> 

有誰知道任何變通辦法,所以我可以得到插入和更新的平滑對話框的開頭,並刪除頁面仍然會重新綁定當我調用RadTreeList.Rebind();?

+0

您可以在javascript中調用重新綁定。但我仍然不確定爲什麼刪除不符合你在這裏的內容。 – paqogomez 2014-09-24 15:34:19

+0

刪除正在發生。重新綁定不起作用,除非我刪除上面的AjaxSetting。這很可能是因爲操作的順序是:右鍵單擊TreeListRow,單擊ContextMenu中的Delete,進入ContextMenu_ItemClick,因爲它是刪除,所以我們不打開窗口,所以AjaxSetting應該是不相關的,運行刪除代碼,嘗試重新綁定treelist我什麼也沒有,沒有控制檯錯誤。 – JTunney 2014-09-24 15:50:32

+0

那麼它是在刪除完整回發? – paqogomez 2014-09-24 16:49:21

回答

1

請嘗試使用下面的代碼片段。

<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server"> 
    <AjaxSettings> 
     <telerik:AjaxSetting AjaxControlID="rcMenu"> 
      <UpdatedControls> 
       <telerik:AjaxUpdatedControl ControlID="RadWindowManager1" LoadingPanelID="RadAjaxLoadingPanel1" /> 
       <telerik:AjaxUpdatedControl ControlID="RadTreeList" LoadingPanelID="RadAjaxLoadingPanel1" /> 
       <telerik:AjaxUpdatedControl ControlID="rcMenu" LoadingPanelID="RadAjaxLoadingPanel1" /> <%--Please remove this if not necessory--%> 
      </UpdatedControls> 
     </telerik:AjaxSetting> 
    </AjaxSettings> 
</telerik:RadAjaxManager> 

讓我知道是否有任何問題。

+0

非常感謝你!儘管我有一個關於RadAjaxManager的簡單問題。有時候人們會如何設置一個Ajax設置,比如RadGrid1,然後在其中設置一個RadGrid1的AjaxUpdatedControl?和上面的例子一樣(如果不是必要的,我知道你會說刪除它),但爲什麼我們首先需要它呢?我的猜測是,這是一個簡單的方法來給單個控件本身的Ajax功能。 – JTunney 2014-09-25 06:49:02

+0

此代碼行顯示在任何事件觸發時,您必須更新UI中的某些控件。標籤中定義的控件。我們沒有在菜單中執行任何CRUD操作,因此不需要在內寫入菜單控制ID。根據您的要求,我們基於菜單點擊,我們正在更新radwindow和treelist。 – 2014-09-25 06:59:58

相關問題