在本文中,我们将深入探讨`GridPanel`在Extnet框架中的常见操作,包括选择行、前后台方法调用、增删行以及弹出窗体的实现方式。这些操作是开发Web应用程序时处理数据表单和数据展示的关键部分。
我们来看如何在`GridPanel`中选择行并获取选中行的数据。`GridPanel`提供了`getSelected()`和`getSelections()`方法来处理这一需求。`getSelected()`返回当前选中的一行,而`getSelections()`则返回所有选中行的数组。例如,`clickone.get("Unitno")`将获取选中行的"Unitno"列的值。如果有多行被选中,可以通过循环遍历`recordlist`来访问每一行的"Unitno"列。
前后台方法的调用在Extnet中是通过`App.direct`对象进行的。JavaScript端可以调用后台方法,如`App.direct.方法名();`,而后台代码(如C#)可以通过`X.Js.Call`来调用前端方法,传入参数以便交互。例如,`string[] paras = new string[] { this.TextField1.ClientID, "警告" }; X.Js.Call("myAlert2", paras);`将调用名为`myAlert2`的前端方法,并传递两个参数。
接下来,我们讨论如何在`GridPanel`中进行增删行操作。有自动增行和命令行两种方式。自动增行通常通过监听`CellClick`事件实现,例如在某一列点击时触发增行操作。而命令增行可以通过监听`Click`事件,然后调用`insert`方法插入新记录。例如,`#{store_detail}.insert(0, newContractItem());`会在`GridPanel1`的存储库的开头插入一条新记录。
弹出窗体的打开通常是通过JavaScript函数完成的,比如`window.showModalDialog`。这会创建一个模态对话框来显示指定的页面。在`GridPanel`中单元格赋值,例如在弹出窗体关闭后更新选定行的数据,可以使用`Ext.getCmp`获取`GridPanel`对象,然后通过`getStore().getAt(rowIndex)`获取特定行的记录,最后利用`set`方法设置字段值,如`record.set('Inv_code', Inv_code);`,并调用`refresh`方法更新视图。
总结来说,`GridPanel`在Extnet中的操作涉及到行选择、数据交互、行操作以及窗口交互等核心功能。熟练掌握这些操作对于构建动态且交互性强的Web应用至关重要。理解并运用上述知识点,开发者能够有效地管理数据,提供用户友好的界面,从而提升应用的整体用户体验。