2014-09-24 1 views
0

RadTreeList를 사용하여 항목을 표시하고, RadContextMenu (Insert, Update, Delete)를 사용하여 Tree Item 및 RadWindowManager를 마우스 오른쪽 버튼으로 클릭하면 RadContextMenu의 팝업 창을 열 수 있습니다. ItemClick. 그들이 Insert 나 Update를 클릭하면 다이얼로그 창이 부드럽게 열리고, 다이얼로그는 닫히고, 트리리스트는 완벽하게 리바 인됩니다. 그들이 Delete를 클릭하면 나는 창을 열 필요가 없습니다. 단지 삭제를위한 코드를 실행 한 다음 RadTreeList.Rebind();RadAjaxManager가 내 RadTreeList를 리 바인드하는 것을 허용하지 않습니다.

RadAjaxManager의이 항목으로 인해 Rebind가 작동하지 않습니다. 여기에있는 이유는 컨텍스트 메뉴를 클릭 할 때 대화 상자가 부드럽게 열리기 때문입니다.

아약스 설정하는 일을 엉망으로뿐만 아니라 열려있는 부드럽게 내 팝업을 만들기 :

<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> 

사람이 알고 있나요 :

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

가 내 상황에 맞는 메뉴 설정을하는 방법입니다 어떤 임시 해결책이라도 삽입과 업데이트를위한 부드러운 대화 상자를 열 수 있으며 RadTreeList.Rebind();를 호출 할 때 삭제 페이지는 여전히 트리리스트를 리바 인 딩합니다.

+0

자바 스크립트에서 리 바인드를 호출 할 수 있습니다. 그러나 나는 왜 당신이 여기에있는 것과 함께 왜 delete wouldnt가 작동하는지 잘 모르겠습니다. – paqogomez

+0

삭제가 진행 중입니다. 위의 AjaxSetting을 제거하지 않으면 리바 인드가 작동하지 않습니다. 작업 순서는 다음과 같습니다 : TreeListRow를 마우스 오른쪽 단추로 클릭하고 ContextMenu에서 삭제를 클릭하고 ContextMenu_ItemClick으로갑니다. 삭제이므로 AjaxSetting이 관련이 없어야하므로 창을 열지 않으므로 delete 코드를 실행하고 treelist를 리바 인하려고합니다. 나는 아무 것도 얻지 못하고 콘솔 오류도 없다. – JTunney

+0

삭제시 전체 포스트 백이 수행됩니까? – paqogomez

답변

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에 대한 간단한 질문이 있지만 때때로 사람들은 RadGrid1과 같은 Ajax 설정을 설정하고 RadGrid1의 AjaxUpdatedControl도 설정할 것입니다. 위의 예와 동일합니다 (필요하지 않다면 제거하겠다고 말합니다).하지만 왜 처음에 그 부분을 원했습니까? 내 생각 엔 단일 컨트롤 자체에 ajax 기능을 제공하는 간단한 방법이라는 것입니다. – JTunney

+0

이 코드 줄은 UI에서 일부 컨트롤을 업데이트해야하는 이벤트를 발생시키는 것을 보여줍니다. 태그 에 정의 된 컨트롤입니다. 메뉴에서 CRUD 작업을 수행하지 않으므로 내에 메뉴 컨트롤 ID를 쓸 필요가 없습니다. 귀하의 요구 사항에 따라 우리는 radwindow와 treelist를 업데이트하는 메뉴 클릭을 기반으로합니다. –

관련 문제