我第一次尝试使用 jqGrid ASP.NET,但在我的表单上正确使用父子网格时遇到了问题。
场景:在我的表单上,我有两个网格,一个是显示产品信息的父网格,另一个是用于编辑父行中产品价格集合的子网格。当用户单击父行中的加号时,将处理 OnDataRequesting 事件,并使用该产品的价格加载子网格。当用户单击子网格中的价格时,我使用 ClientSideEvents RowSelect 和服务器端 RowEditing 事件来执行内联编辑。
所有这些设置起来都很简单,而且效果很好。我遇到的问题是我希望父网格中的选定行充当页面其余部分的上下文,即页面的其余部分显示与所选产品相关的信息(图表、图形、 ETC)。为此,我为 OnRowSelecting 事件设置了一个事件处理程序,然后从事件 args 中捕获 RowKey。这很好用。但是......设置该处理程序的意外副作用是,一旦用户在子网格中选择一行进行编辑,OnRowSelecting 事件会在父网格中触发,页面回发,并且当页面重新加载子网格时关闭并且尝试的编辑被阻止。
我想知道的是,是否有任何内置方法可以通过客户端 jqGrid 库或 Trirand.Web 库来处理这种情况?或者我是否需要编写一些自定义脚本来异步发送选定的父行,或者可能捕获展开的子网格并在回发完成后尝试重新打开它?谢谢。