2011-08-25 3 views
1

바로 문제를 해결해 보겠습니다.Telerik RadGrid + RadAjaxManager

데이터 소스를 생성하는 두 개의 gridview가 있습니다. 두 gridviews 항목 (행) 편집 할 수 있지만 첫 번째 gridview (다른 하나에 대한 데이터를 생성하는)에서 편집, 두 번째 gridview에서 편집을 클릭하면 아무 일도 일어나지 않습니다. 나는 잠시 동안 웹을 검색해 왔으며 (내가 믿는다) 내가 필요한 것은 AJAX Manager이다.

Telerik의 사이트에서 몇 가지 예제/데모를 확인했지만 두 번째 gridview 작업에서 편집하는 방법을 아직 잘 모릅니다. 두 번째 gridview에서 "편집"버튼을 클릭하면 아무 일도 일어나지 않습니다.

두 gridviews 안에 편집 양식이 있고 gridview의 편집 양식 유형은 모두 "WebUserControl"입니다.

현재 RadAjaxManager은 다음과 같습니다

<telerik:RadAjaxManager ID="ramAsseti" runat="server"> 
    <AjaxSettings> 
     <telerik:AjaxSetting AjaxControlID="gvKontakti"> 
      <UpdatedControls> 
       <telerik:AjaxUpdatedControl ControlID="gvAsseti" /> 
      </UpdatedControls> 
     </telerik:AjaxSetting> 
    </AjaxSettings> 
</telerik:RadAjaxManager> 

누군가가 몇 가지 제안 좀 도와 수 없습니다. 어떤 도움을 주시면 감사하겠습니다.

편집 : 그 동안 RadGrid를 한 개 더 추가하고 RadAjaxManager를 업데이트했으며 처음 두 개의 RadGrid가 작동한다는 것을 알았습니다 ("작업"은 편집 및 UserControls가 표시됨을 의미). 작동하지 않습니다. 어떤 이상한 이유로 삭제 함수 은 마지막 RadGrid (gvAsseti)에서이 작동합니다. 그것은 잘 작동합니다 나는 당신이 바로이 같은 AJAX 설정 gvAsseti를 추가하면 생각

<telerik:RadScriptManager ID="RadScriptManager1" runat="server"> 
</telerik:RadScriptManager> 
<telerik:RadAjaxManager ID="ramAsseti" runat="server"> 
    <AjaxSettings> 
     <telerik:AjaxSetting AjaxControlID="gvTvrtke"> 
      <UpdatedControls> 
       <telerik:AjaxUpdatedControl ControlID="gvTvrtke" /> 
       <telerik:AjaxUpdatedControl ControlID="gvKontakti" /> 
       <telerik:AjaxUpdatedControl ControlID="gvAsseti" /> 
      </UpdatedControls> 
     </telerik:AjaxSetting> 
    </AjaxSettings> 
</telerik:RadAjaxManager> 
<telerik:RadGrid ID="gvTvrtke" runat="server" AllowPaging="True" AllowSorting="True" 
    AutoGenerateColumns="False" CellSpacing="0" GridLines="None" OnNeedDataSource="gvTvrtke_NeedDataSource" 
    OnItemCommand="gvTvrtke_ItemCommand"> 
    <MasterTableView DataKeyNames="idFirma" CommandItemDisplay="TopAndBottom" InsertItemPageIndexAction="ShowItemOnCurrentPage"> 
     <CommandItemSettings AddNewRecordText="Dodaj novu tvrtku" RefreshText="Osvježi" /> 
     <Columns> 
      <telerik:GridButtonColumn UniqueName="ShowAssetsColumn" ButtonType="LinkButton" DataTextFormatString="Kontakti" 
       DataTextField="idTvrtka" CommandName="ShowContacts"> 
      </telerik:GridButtonColumn> 
      <telerik:GridBoundColumn UniqueName="Naziv" DataField="Naziv" HeaderText="Naziv"> 
      </telerik:GridBoundColumn> 
      <telerik:GridBoundColumn UniqueName="OIB" HeaderText="OIB" DataField="OIB"> 
      </telerik:GridBoundColumn> 
      <telerik:GridBoundColumn UniqueName="Tel1" HeaderText="Telefon 1" DataField="Tel1"> 
      </telerik:GridBoundColumn> 
      <telerik:GridBoundColumn UniqueName="Tel2" HeaderText="Telefon 2" DataField="Tel2"> 
      </telerik:GridBoundColumn> 
      <telerik:GridBoundColumn UniqueName="Fax" HeaderText="Fax" DataField="Fax"> 
      </telerik:GridBoundColumn> 
      <telerik:GridBoundColumn UniqueName="Mob1" HeaderText="Mobitel 1" DataField="Mob1"> 
      </telerik:GridBoundColumn> 
      <telerik:GridBoundColumn UniqueName="Mob2" HeaderText="Mobitel 2" DataField="Mob2"> 
      </telerik:GridBoundColumn> 
      <telerik:GridBoundColumn UniqueName="Email1" HeaderText="E-mail 1" DataField="Email1"> 
      </telerik:GridBoundColumn> 
      <telerik:GridBoundColumn UniqueName="Email2" HeaderText="E-mail 2" DataField="Email2"> 
      </telerik:GridBoundColumn> 
      <telerik:GridBoundColumn UniqueName="Adresa1" HeaderText="Adresa" DataField="Adresa1"> 
      </telerik:GridBoundColumn> 
      <telerik:GridBoundColumn UniqueName="Web" HeaderText="Web" DataField="Web"> 
      </telerik:GridBoundColumn> 
      <telerik:GridCheckBoxColumn UniqueName="Aktivan" HeaderText="Aktivan" DataField="Aktivan"> 
      </telerik:GridCheckBoxColumn> 
      <telerik:GridEditCommandColumn UniqueName="EditCommandColumn"> 
      </telerik:GridEditCommandColumn> 
      <telerik:GridButtonColumn UniqueName="DeleteColumn" Text="Delete" CommandName="Delete" 
       ConfirmDialogType="RadWindow" ConfirmText="Brisanje tvrtke!" /> 
     </Columns> 
     <EditFormSettings UserControlName="UserControls/TvrtkaUserControl.ascx" EditFormType="WebUserControl"> 
      <EditColumn UniqueName="EditCommandColumn1"> 
      </EditColumn> 
     </EditFormSettings> 
    </MasterTableView> 
</telerik:RadGrid> 
<telerik:RadGrid ID="gvKontakti" runat="server" AllowPaging="True" AllowSorting="True" 
    AutoGenerateColumns="False" CellSpacing="0" GridLines="None" Skin="Default" OnNeedDataSource="gvKontakti_NeedDataSource" 
    OnDeleteCommand="gvKontakti_DeleteCommand" OnInsertCommand="gvKontakti_InsertCommand" 
    OnPreRender="gvKontakti_PreRender" OnUpdateCommand="gvKontakti_UpdateCommand" 
    OnItemCommand="gvKontakti_ItemCommand"> 
    <MasterTableView DataKeyNames="idKontakt" CommandItemDisplay="TopAndBottom" InsertItemPageIndexAction="ShowItemOnCurrentPage"> 
     <CommandItemSettings AddNewRecordText="Dodaj novi kontakt" RefreshText="Osvježi" /> 
     <Columns> 
      <telerik:GridButtonColumn UniqueName="ShowAssetsColumn" ButtonType="LinkButton" DataTextFormatString="Asseti" 
       DataTextField="idKontakt" CommandName="ShowAssets"> 
      </telerik:GridButtonColumn> 
      <telerik:GridBoundColumn UniqueName="Kontakt" DataField="Naziv" HeaderText="Kontakt"> 
      </telerik:GridBoundColumn> 
      <telerik:GridBoundColumn UniqueName="Funkcija" HeaderText="Funkcija" DataField="Funkcija"> 
      </telerik:GridBoundColumn> 
      <telerik:GridBoundColumn UniqueName="Tel1" HeaderText="Telefon 1" DataField="Tel1"> 
      </telerik:GridBoundColumn> 
      <telerik:GridBoundColumn UniqueName="Tel2" HeaderText="Telefon 2" DataField="Tel2"> 
      </telerik:GridBoundColumn> 
      <telerik:GridBoundColumn UniqueName="Mob1" HeaderText="Mobitel 1" DataField="Mob1"> 
      </telerik:GridBoundColumn> 
      <telerik:GridBoundColumn UniqueName="Mob2" HeaderText="Mobitel 2" DataField="Mob2"> 
      </telerik:GridBoundColumn> 
      <telerik:GridBoundColumn UniqueName="Email1" HeaderText="E-mail 1" DataField="Email1"> 
      </telerik:GridBoundColumn> 
      <telerik:GridBoundColumn UniqueName="Email2" HeaderText="E-mail 2" DataField="Email2"> 
      </telerik:GridBoundColumn> 
      <telerik:GridBoundColumn UniqueName="Fax" HeaderText="Fax" DataField="Fax"> 
      </telerik:GridBoundColumn> 
      <telerik:GridCheckBoxColumn UniqueName="Aktivan" HeaderText="Aktivan" DataField="Aktivan"> 
      </telerik:GridCheckBoxColumn> 
      <telerik:GridEditCommandColumn UniqueName="EditCommandColumn"> 
      </telerik:GridEditCommandColumn> 
      <telerik:GridButtonColumn UniqueName="DeleteColumn" Text="Delete" CommandName="Delete" 
       ConfirmDialogType="RadWindow" ConfirmText="Brisanje kontakta!" /> 
     </Columns> 
     <EditFormSettings UserControlName="UserControls/KontaktUserControl.ascx" EditFormType="WebUserControl"> 
      <EditColumn UniqueName="EditCommandColumn1"> 
      </EditColumn> 
     </EditFormSettings> 
    </MasterTableView> 
</telerik:RadGrid> 
<telerik:RadGrid ID="gvAsseti" runat="server" OnNeedDataSource="gvAsseti_NeedDataSource" 
    AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" CellSpacing="0" 
    GridLines="None" ondeletecommand="gvAsseti_DeleteCommand" 
    oninsertcommand="gvAsseti_InsertCommand" 
    onupdatecommand="gvAsseti_UpdateCommand"> 
    <MasterTableView DataKeyNames="idAsset" CommandItemDisplay="TopAndBottom" InsertItemPageIndexAction="ShowItemOnCurrentPage"> 
     <CommandItemSettings AddNewRecordText="Dodaj novi asset" RefreshText="Prikaži sve assete" /> 
     <Columns> 
      <telerik:GridBoundColumn UniqueName="Naziv" DataField="Naziv" HeaderText="Naziv"> 
      </telerik:GridBoundColumn> 
      <telerik:GridBoundColumn UniqueName="Kod1" HeaderText="Kod 1" DataField="Kod1"> 
      </telerik:GridBoundColumn> 
      <telerik:GridBoundColumn UniqueName="Kod2" HeaderText="Kod 2" DataField="Kod"> 
      </telerik:GridBoundColumn> 
      <telerik:GridBoundColumn UniqueName="DatumGarancije" HeaderText="Datum garancije" 
       DataField="DatumGarancije"> 
      </telerik:GridBoundColumn> 
      <telerik:GridCheckBoxColumn UniqueName="Aktivan" HeaderText="Aktivan" DataField="Aktivan"> 
      </telerik:GridCheckBoxColumn> 
      <telerik:GridEditCommandColumn UniqueName="EditCommandColumn"> 
      </telerik:GridEditCommandColumn> 
      <telerik:GridButtonColumn UniqueName="DeleteColumn" Text="Delete" CommandName="Delete" 
       ConfirmDialogType="RadWindow" ConfirmText="Brisanje asseta!" /> 
     </Columns> 
     <EditFormSettings UserControlName="UserControls/AssetUserControl.ascx" EditFormType="WebUserControl"> 
      <EditColumn UniqueName="EditCommandColumn1"> 
      </EditColumn> 
     </EditFormSettings> 
    </MasterTableView> 
</telerik:RadGrid> 

답변

6

:

를 대신이의 여기

코드 (그들이 잘 작동으로 boundfields을 건너 뜀)입니다 :

<telerik:RadAjaxManager ID="ramAsseti" runat="server"> 
    <AjaxSettings> 
     <telerik:AjaxSetting AjaxControlID="gvKontakti"> 
      <UpdatedControls> 
       <!-- DON'T PUT THEM HERE --> 
      </UpdatedControls> 
     </telerik:AjaxSetting> 
    </AjaxSettings> 
</telerik:RadAjaxManager> 

이 작업을 수행합니다 (각 격자에 대한 AjaxSetting가 어떻게 알) :

<telerik:RadAjaxManager ID="ramAsseti" runat="server"> 
    <AjaxSettings> 
     <telerik:AjaxSetting AjaxControlID="gvKontakti" /> 
     <telerik:AjaxSetting AjaxControlID="gvAsseti" /> 
     <telerik:AjaxSetting AjaxControlID="gvTvrtke" /> 
    </AjaxSettings> 
</telerik:RadAjaxManager> 

또 다른 방법은 RadAjaxPanel을 사용하고 그 안에 모든 그리드를 배치하는 것입니다. 그러면 모든 것이 AJAX가됩니다.

<telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server"> 

    <telerik:RadGrid ... > 

    <telerik:Radgrid ... > 

    <telerik:RadGrid ... > 

</telerik:RadAjaxPanel> 
+0

불행히도 여전히 동일합니다. 코드 업데이트를 게시 했으므로 한 번 훑어 볼 수 있다면 감사 할 것입니다. –

+0

@Hrvach : 다른 그리드를 UpdatedControls 섹션에 두지 마십시오. 위와 같이 각 그리드를 자체 AjaxSetting으로 추가하십시오. –

+0

감사합니다. 넌 나를 구했다! ;) –

관련 문제