带有 radWindows 的多个 radGrids

Multiple radGrids with radWindows

我在一页中有 3 个 radGrid,当我双击一行时,我想为每个弹出一个 radWindow。

我使用这 2 个 javascript 函数:

function RowDblClick(sender, eventArgs) {
            alert("it was dblclicked");
            sender.get_masterTableView().editItem(eventArgs.get_itemIndexHierarchical());
            alert("pass rowdbl");
        }

function onPopUpShowing(sender, args) {
            alert("reach onPopUpShowing");
            args.get_popUp().className += " popUpEditForm";
        }

我制作了 radGrids 并在客户端设置中放置了函数:

<ClientSettings>
    <ClientEvents OnRowDblClick="RowDblClick" OnPopUpShowing="onPopUpShowing" />
</ClientSettings>

问题是对于第一个 Grid 它打开了 RadWindow ,但是对于接下来的 2 个它没有到达 OnPopUpShowing 函数

在后面的代码中,我在 Page_Load 中写了这个:

protected void Page_Load(object sender, EventArgs e)
    {
       if (!IsPostBack)
       {
            rdCompanyUsers.MasterTableView.EditMode = GridEditMode.PopUp;
            rdRights.MasterTableView.EditMode = GridEditMode.PopUp;
            rdDivision.MasterTableView.EditMode = GridEditMode.PopUp;}

有人可以帮我解决这个问题吗?

使用您的确切 javascript 和所有功能下方的标记是您想要实现的。唯一的区别是在 Page_Load 中没有在网格上设置属性。不过,您展示的内容应该可以正常工作。我怀疑您的网格声明之间存在不一致,或者您的数据源可能有问题。

<form id="form1" runat="server">
<div>
    <asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
    <telerik:RadGrid ID="RadGrid1" runat="server" AutoGenerateColumns="true" DataSourceID="sdsGrids">
        <MasterTableView EditMode="PopUp"></MasterTableView>
        <ClientSettings>
            <ClientEvents OnRowDblClick="RowDblClick" OnPopUpShowing="onPopUpShowing" />
        </ClientSettings>
    </telerik:RadGrid>
    <telerik:RadGrid ID="RadGrid2" runat="server" AutoGenerateColumns="true" DataSourceID="sdsGrids">
        <MasterTableView EditMode="PopUp"></MasterTableView>
        <ClientSettings>
            <ClientEvents OnRowDblClick="RowDblClick" OnPopUpShowing="onPopUpShowing" />
        </ClientSettings>
    </telerik:RadGrid>
    <telerik:RadGrid ID="RadGrid3" runat="server" AutoGenerateColumns="true" DataSourceID="sdsGrids">
        <MasterTableView EditMode="PopUp"></MasterTableView>
        <ClientSettings>
            <ClientEvents OnRowDblClick="RowDblClick" OnPopUpShowing="onPopUpShowing" />
        </ClientSettings>
    </telerik:RadGrid>
</div>
    <asp:SqlDataSource ID="sdsGrids" runat="server" ConnectionString="..." SelectCommand="SELECT * FROM ..."></asp:SqlDataSource>
</form>