0

我在我的主 aspx 页面中有一个 RadGrid,它允许用户在单击图片(在 RadGrid 内)时打开一个 RadWindow。

当我关闭我的 RadWindow 时,我需要重新绑定我的 RadGrid。问题是我不在同一页面中。因此,我无法访问 RadWindow 页面中的 RadGrid。

有没有办法在 CloseDialog 中添加指令以重新绑定 RadGrid?

这是我用来关闭 RadWindow 的代码。

function GetRadWindow() {
    var oWindow = null;
    if (window.radWindow) oWindow = window.radWindow;
    else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow;
    return oWindow;
}

function CloseDialog() {
    GetRadWindow().close();
    return true;
}
4

2 回答 2

2

尝试这个:

在 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函数中查找/获取网格,因为我的场景有点不同。

于 2012-03-21T12:58:04.393 回答
0

You can also fire itemcommand for particular row using below code.

 function ClientClose(oWnd, args) {

            if (oWnd != null && oWnd.get_name() == "checkwindowname") {


                var grid = $find("<%=Radgrid1.ClientID %>");
                if (grid) {
                    var MasterTable = grid.get_masterTableView();
                    var Rows = MasterTable.get_dataItems();
                    for (var i = 0; i < Rows.length; i++) {
                        var row = Rows[i];

                        // put your codition here if you want

                        MasterTable.fireCommand("YourCommandName", i);


                    }
                }

            }
        }
于 2012-03-23T06:08:25.780 回答