带有 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>
我在一页中有 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>