Объект не поддерживает свойство или метод «_get_eventHandlerList» - PullRequest
0 голосов
/ 22 марта 2012

Я получил эту ошибку при попытке перепривязать сетку: (

Родительская страница (где сетка)

function refreshGrid(arg) {
    if (!arg) {
        $find("<%= RadAjaxManager1.ClientID %>").ajaxRequest("Rebind");
    }
} 


<telerik:RadWindowManager ID="RadWindowManager1" runat="server" EnableShadow="true">
    <Windows>
        <telerik:RadWindow ID="RadWindow1" runat="server" Width="700px" Height="500px" Title="Details du ticket"
            Skin="WebBlue" Behaviors="Close, Move" Modal="true">
        </telerik:RadWindow>
    </Windows>
</telerik:RadWindowManager>
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server" ClientIDMode="AutoID">
    <AjaxSettings>
        <telerik:AjaxSetting AjaxControlID="RadAjaxManager1">
            <UpdatedControls>
                <telerik:AjaxUpdatedControl ControlID="RadGrid1" />
            </UpdatedControls>
        </telerik:AjaxSetting>
    </AjaxSettings>
</telerik:RadAjaxManager>

.cs:

    protected void RadAjaxManager1_AjaxRequest(object sender, AjaxRequestEventArgs e)
    {
        if (e.Argument == "Rebind")
        {
            RadGrid1.MasterTableView.SortExpressions.Clear();
            RadGrid1.MasterTableView.GroupByExpressions.Clear();
            RadGrid1.Rebind();
        }
    }  

Функция JS в окне (когда я закрываю ее, я хочу обновить сетку на родительской странице)

function CloseDialog(args) {
    GetRadWindow().close();
    GetRadWindow().BrowserWindow.refreshGrid(args); 
    return true;


}

1 Ответ

0 голосов
/ 22 марта 2012

Вместо того, чтобы делать все это, попробуйте следующий простой пример:

В radWindow вы получите одно клиентское событие с именем OnClientClose, вы можете вызвать его и легко перепривязать свою сетку.Смотрите ниже, что я сделал:

<telerik:RadWindow runat="server" Behaviors="Maximize,Close,Move" ID="editorWindow"
    VisibleStatusbar="false" Width="800px" ReloadOnShow="true" ShowContentDuringLoad="false"
    OnClientClose="OnWindowClose" Modal="true" Height="500px" />

Вот функция JS:

function OnWindowClose(sender, eventArgs) {
    var MasterTable = gridID.get_masterTableView();
    MasterTable.rebind();
}

Примечание : на pageLoad родительской страницы я назначилgridID вот так var gridID = $find('<%=radGrid.ClientID%>').Вы также можете найти / получить сетку непосредственно в функции OnWindowClose, так как мой сценарий был немного другим.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...