Ext.Net 学习 之 GridPanel、 Store 取值
功能要求,根据GridPanel下数据源,单击“明细显示”按钮展示选择的行详情,另起一个Panel
效果如下:
弹出新的Panel值
前台js
//卡片显示按钮
function showCard() {
var item = hidItem.getValue().split('|');//详细页主键及主键值
var mouldId = hidModel.getValue(); //模块ID
var sqlNo = hidSqlNo.getValue(); //SQLNo
var varRecord = Ext.getCmp('gp' + sqlNo).getSelectionModel().getSelected();
var rowIndex = ('store' + sqlNo).indexOf(varRecord); //获取选中了那一行
if (rowIndex < 0) {
rowIndex = 0;
}
var strUrl = "../CommonWindow/CardDisplayWindow.aspx?item=" + item[0] + "|" + item[1] + "&MouldID=" + mouldId + "&SQLNo=" + sqlNo + "&RowIndex=" + rowIndex + "";
var cardName = Ext.getCmp('hdCardValue' + sqlNo).getValue(); //获取当前激活的Panel名称
addChildTab('idCard', '' + strUrl + '', '' + cardName + '');
}
注意红色地方 取值
有什么问题?
--是的 取值方式不一样
上面代码是可以取值的
不明白的问题出现了:
根据GridPanel的ID值找到,选中了那一行
根据控件ID
Ext.getCmp('gp' + sqlNo).getSelectionModel().getSelected();//GridPanel
为什么GridPanel数据源 Stroe :
var rowIndex =Ext.getCmp('store' + sqlNo).indexOf(varRecord); //获取选中了那一行
js便报错
相反去掉“Ext.getCtl” 则OK
不明白 ext获取控件是什么原理?
2011-12-17
问题搞不定 总觉得不舒服 今早 搞定
换个思路即可 获取GridPanel下选中的行
var rowIndex = Ext.getCmp('gp' + sqlNo).store.indexOf(varRecord); //获取选中了那一行
注:'gp' + sqlNo 当前GridPanel ID、varRecord 见上
这个可以解决问题
作者:PEPE
出处:http://pepe.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
作者:PEPE
出处:http://pepe.cnblogs.com/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· [AI/GPT/综述] AI Agent的设计模式综述