gpt4 book ai didi

javascript - 检查 aspxgridview Master-Detail 是否在客户端检查了任何行

转载 作者:行者123 更新时间:2023-12-02 13:58:55 24 4
gpt4 key购买 nike

我需要检查主从 AspxGridView 中是否检查了任何行。

有了主人我就可以使用

grid.GetSelectedRowCount()>0

但是如何使用 JS 检查详细信息行呢?

提前致谢

最佳答案

要实现此目的,您需要为每个详细信息网格分配一个唯一的 ClientInstanceName,然后使用分配的 ClientInstanceName 在客户端访问该特定详细信息网格,该名称又应包含主网格的行 ID 部分,即第一行的明细网格_1 、detailGrid_2 为第二个,依此类推。

要将 ClientInstanceName 分配给每个详细信息网格,您需要将自定义 Page_Init 处理程序添加到详细信息网格,作为代码隐藏中该处理程序中设置的 ClientInstanceName。

因此,网络定义可能如下所示:

<dx:ASPxGridView ID="masterGrid" runat="server" ClientInstanceName="masterGrid">
...
<Templates>
<DetailRow>
<dx:ASPxGridView ID="detailGrid" runat="server" OnInit="detailGrid_OnInit">
...
</dx:ASPxGridView>
</DetailRow>
</Templates>
...
</dx:ASPxGridView>

然后在代码隐藏中:

protected void detailGrid_OnInit(object sender, EventArgs e) {
ASPxGridView detailGridView = (ASPxGridView)sender;
GridViewDetailRowTemplateContainer templateContainer =
(GridViewDetailRowTemplateContainer)detailGridView.NamingContainer;
detailGridView.ClientInstanceName = string.Format("detailGrid_{0}",
templateContainer.VisibleIndex);
}

然后在事件处理程序的客户端(您没有提及您试图检查详细网格是否选择了某些行的事件),您需要获取主网格的行 ID 并为您的手动详细网格,例如:

eval('detailGrid_' + master_grids_row_id).

或者您可以将其以现成的形式传递给 JS 甚至处理程序,如下文所示。

一旦获得正确的detailGrid Client实例名称,您就可以调用以下JS方法:

detailGrid_XX.GetSelectedKeysOnPage();

请参阅此 DX 支持文章以获取一些代码示例:https://www.devexpress.com/Support/Center/Question/Details/Q450479

HTH

关于javascript - 检查 aspxgridview Master-Detail 是否在客户端检查了任何行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40514338/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com