mvc模式的extjs4中pannel多选问题(在线等 急)

问题描述

mvc模式的extjs4中pannel多选问题(在线等 急)

需求:我需要在查询列表面板panel中添加多选项,并可以通过点击查询面板panel上的按钮获取查询列表面板的所有选中值。
现象:方法一、我使用selModel : new Ext.selection.CheckboxModel(),点击查询面板的按钮可以获取到多选值,通过弹出框显示出来,但是关闭弹出框以后,只能通过表头的多选框进行全选或取消全选,单击列表中的个别行或行前的多选框就没反应;
方法二、我使用selModel : {selType : 'checkboxmodel'},multiSelect:true,点击查询面板的按钮就获取不到多选值了,总提示获取到的值为空。
注意:获取选中项方法我使用的是Ext.widget("bfbRefundSettlementGridView").getSelectionModel().getSelection();不支持getSelections()方法,也不支持getSelection(),也不支持Ext.widget("bfbRefundSettlementGridView").getSelectionModel().getSelection()[0].data方法。

部分代码如下:
//定义组件
Ext.define('MB.view.bfbRefundSettlement.BfbRefundSettlementGridView', {
extend : "Ext.grid.Panel",
alias : 'widget.bfbRefundSettlementGridView',
store: "MB.store.BfbRefundSettlementStore",
selModel : {
selType : 'checkboxmodel'
},
multiSelect:true,//允许多选
autoRender:true,
columnLines: true,
width: '100%',
loadMask: true, // 读取数据时的遮罩和提示功能即加载loding...
frame: true,
resizable: true,
forceFit: false,
height:500,
initComponent : function() {
Ext.QuickTips.init();
var sm = new Ext.selection.CheckboxModel();
var me = this;
me.columns = [
{ text:'序号', xtype: 'rownumberer', width:50 },
{ header: '批次号', dataIndex: 'billNo',width: 150,align: 'center'},···
···
//controller中的按钮方法:
var grid = Ext.widget("bfbRefundSettlementGridView");
var records = grid.getSelectionModel().getSelection();
if(records.length==0){
Ext.MessageBox.show({

title:"提示",

msg:"请先选择您要操作的行!"
});
return;
}else{
for(var i = 0; i < records.length; i++){
ids += records[i].get("billNo");
if(i<records.length-1){
ids = ids + ",";

}
}
Ext.MessageBox.alert('提示',ids);
}

    或者使用方法一 ,使得弹出提示框后仍可以选中获取消个别行,或者使用方法二,可以获取选中行。我看不出问题到底出在哪里,还请各位ext高手指教。

解决方案

Ext.widget创建新的对象,又不是你显示的,给控件widget起id,通过Ext.getCmp获取

时间: 2024-05-26 07:29:33

mvc模式的extjs4中pannel多选问题(在线等 急)的相关文章

理解javascript中的MVC模式_javascript技巧

MVC模式是软件工程中一种软件架构模式,一般把软件模式分为三部分,模型(Model)+视图(View)+控制器(Controller); 模型:模型用于封装与应用程序的业务逻辑相关的数据以及对数据处理的方法.模型有对数据直接访问的权利.模型不依赖 "视图" 和 "控制器", 也就是说 模型它不关心页面如何显示及如何被操作. 视图:视图层最主要的是监听模型层上的数据改变,并且实时的更新html页面.当然也包括一些事件的注册或者ajax请求操作(发布事件),都是放在视图

基于Dojo toolkit实现web2.0的MVC模式

前言 MVC 模式是设计模式中的经典模式,它可以有效的分离数据层,展示层,和业务逻辑层.Web2.0 技术由于其良好的用户体验被广泛应用于 WEB 应用的展示层.但是在传统的 web 开发中,展示层的和业务逻辑层代码大量耦合,使得应用的可扩展性严重降低,同时页面层代码的可复用性也很低.本文用实例介绍,如何使用 dojo toolkit 扩展 dojo 的页面控件并实现 MVC 模式,有效的分离了展示层与业务逻辑层的代码,同时使得展示层代码可复用性大大提高. 第一部分:Dojo 构造 MVC 与传

Extjs4使用mvc模式,封装Store层的ArrayStore无法动态加载后台数据

问题描述 Extjs4使用mvc模式,封装Store层的ArrayStore无法动态加载后台数据 store层代码 Ext.define('Desktop.store.function.FunctionStore'{ extend: 'Ext.data.ArrayStore' requires:['Desktop.model.function.UserModel'] model: 'Desktop.model.function.UserModel' autoLoad: true proxy:{

谈谈关于JavaScript 中的 MVC 模式_基础知识

原文:Model-View-Controller (MVC) with JavaScript作者:Alex@Net译文:JavaScript 的 MVC 模式译者:justjavac 本文介绍了模型-视图-控制器模式在 JavaScript 中的实现. 我喜欢 JavaScript,因为它是在世界上最灵活的语言之一. 在 JavaScript 中,程序员可以根据自己的口味选择编程风格:面向过程或面向对象. 如果你是一个重口味,JavaScript 一样可以应付自如: 面向过程,面向对象,面向方面

PHP中MVC模式的模板引擎开发经验分享

使Web系统的开发与维护更加方便,从而有效的节省人力物力,受到了越来越多企业的青眯. 模板引擎是MVC模式建立过程的重要方法,开发者可以设计一套赋予含义的标签,通过技术解析处理有效的把数据逻辑处理从界面模板中提取出来,通过解读标签的含义把控制权提交给相应业务逻辑处理程序,从而获取到需要的数据,以模板设计的形式展现出来,使设计人员能把精力更多放在表现形式上.下面是我对模板引擎的认识与设计方法: 说的好听些叫模板引擎,实际就是解读模板数据的过程(个人观点^^).通过我对建站方面的思考认识,网站在展现

MVC模式在j2me项目中的应用(一)

项目 MVC模式在j2me项目中的应用(一)作者:FavoYang Email:favoyang@yahoo.com 欢迎交流Keywords:MVC j2me UI模式 内容提要:本文简要的介绍了MVC模式的思想,并分析了MVC模式的利弊,最后结合MIDP平台给出几种常见的MVC模式实践.相信此文对任何一个使用midp平台的商务程序开发者都或多或少的有所帮助. 版权声明:本文同时发表在www.j2medev.com和我的Blog(blog.csdn.net/alikeboy)上,如果需要转载,

MVC模式在j2me项目中的应用(二)

项目 MVC模式在j2me项目中的应用(二)作者:FavoYang Email:favoyang@yahoo.com 欢迎交流Keywords:MVC 案例 模式 内容提要:如果想试验一下自己对一个知识到底有几分的掌握,最好的方法就是实践她.结合一个名为"NOTE"的项目(记事本),运用MVC模式进行构建,一起体会一下MVC的强大与灵活.请注意的是,本文中关于不再使用MVC这样的术语,而是使用边界类.控制类.实体类.生命周期类这样的称呼.关于MVC的在j2me上的种种变化请看本文的(一

在ASP.NET中实现MVC模式(二)

asp.net 在ASP.NET中实现Model-View-Controller模式(二) MVC模式形容这种实现方式是一种被动的实现机制,ASP.NET充当了程序执行中的控制器的角色,但程序员必须将具体的事件处理方法添加到事件的响应函数中.如在这个例子中,控制器在页面加载之前调用Page_Load函数并执行其中的代码,当用户点击Submit按钮时由系统调用SubmitBtn_Click函数并执行. 这种将代码都包含在一个文件中的实现方式非常的直接,而且当应用程序很小并不经常修改的时候也可以说是

在ASP.NET中实现MVC模式(五)

asp.net 在ASP.NET中实现Model-View-Controller模式(五) 测试 将模型部分从ASP.NET环境中分离出来能够使模型部分更容易的被测试.在ASP.NET环境中进行测试的话,你必须同时测试很多方面,如HTML代码是否正确,而读取HTML代码的工作是非常烦闷的.将模型部分分离出来,使你能够对模型部分做单独的单元测试.下面是NUnit (http://nunit.org)对模型部分进行单元测试的例子. using System; using NUnit.Framewor