1

問題に直行しましょう。

2つのグリッドビューがあり、そのうちの1つが別のグリッドビューへのデータソースを生成します。どちらのグリッドビューにもアイテム(行)を編集する機能がありますが、編集は最初のグリッドビュー(もう一方のグリッドビューのデータを生成するグリッドビュー)でのみ機能し、2番目のグリッドビューで[編集]をクリックしても何も起こりません。私はしばらくの間ウェブを検索していて、(私は信じていますが)私が必要としているのはAJAXManagerであることがわかりました。

Telerikのサイトからいくつかの例/デモを確認しましたが、2番目のグリッドビューで編集を機能させる方法がまだわかりません。2番目のグリッドビューで[編集]ボタンをクリックしても、何も起こりません。

両方のグリッドビューには編集フォームがあり、両方のグリッドビューの編集フォームタイプは「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をもう1つ追加し、RadAjaxManagerを更新しました。最初の2つのRadGridは機能します(「機能」とは、[編集]をクリックすると、UserControlsが表示されます)が、最後の1つは機能しません。 。奇妙な理由で、削除機能最後のRadGrid(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>
4

1 に答える 1

6

このようにgvAssetiをAJAX設定に追加するだけで、正常に機能するはずです。

これの代わりに:

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

もう1つの方法は、RadAjaxPanelを使用して、すべてのグリッドをその中に配置することです。これにより、すべてがAJAXであることが保証されます。

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

   <telerik:RadGrid ... >

   <telerik:Radgrid ... >

   <telerik:RadGrid ... >

</telerik:RadAjaxPanel>
于 2011-08-25T15:37:26.337 に答える