- 浏览: 50356 次
- 性别:
- 来自: 西安
最近访客 更多访客>>
最新评论
-
black.angel:
你用的FCK是什么版本的?
EXT中嵌入FCK Editor -
tmartin:
学习了 好东西
EXTJS如何通过JSON与服务器通信
当我们在Combox 中定义了PageSize属性,那么Combox 自动获得了分页的能力。这本身很好,但是带来一个问题。
这个问题的发生是因为,Combox组件有一个特点。当你想用程序控制,让下拉列表中的某一项成为当前选中项时,这个项必须是在列表中存在的(有点像废话)。 意思就是说,如果你列表里有A,B,C,D 4个选项, Combox分了页,AB在第一页,CD在第二页,而默认情况下拉列表中只有第一页的内容,就是只有AB, 那么你想让Combox当前的值是D , 就实现不了了。
这种情况经常出现在,当你想让用户在某个Grid列表里点击一个记录,选择一个“修改”,接下来弹出的修改窗口中有个Combox,Combox自动选中了这条记录原先选中的值。 这种情况如果原先的值是在Combox的第二页, 你就傻眼了。
下面的代码解决了上述问题。
//Define a record structure
var consignerRecord = Ext.data.Record.create([
{name:"consignerId"},
{name:"consignerName"}
]);
//this is the store
comboxConsignerStore = new Ext.data.JsonStore({
url:'/pcms/dictionary/consigner.do?method=findConsigners',
root:'Datas',
totalProperty: 'TotalRecords',
fields:[
{name:'consignerId', mapping:'consignerId'},
{name:'consignerName', mapping:'consignerName'}
]
});
//ah ,the combox with pagebar
var comboxConsigner = new Ext.form.ComboBox({
name:'consignerId',
hiddenName:'consignerId',
displayField:'consignerName',
valueField:'consignerId',
emptyText:'请选择',
fieldLabel:'供货方',
width:200,
editable:false,
allowBlank:false,
mode:'remote',
loadingText:'loading...',
pageSize:10,
selectOnFocus: true,
triggerAction:'all',
store: comboxConsignerStore
});
//上例中的修改窗体,就是这个了
var UpdateWindow = new Ext.Window({
title:'新增合同',
layout:'fit',
items:[formPanel],
model:true,
width:450,
height:450,
listeners:{
//关键点来了,beforeshow,在窗体显示之前,我们对combox进行些处理
beforeshow: function(){
if(grid.getSelectionModel().getSelected() != null){ //首先保证用户得选中了记录
//处理ConsigneeCombox
var cr = new consigneeRecord({// 创建一条新的consignee记录,为以后插入做准备
consigneeId: grid.getSelectionModel().getSelected().get("consigneeId"),//记录内的值是从用户选中的Grid记录中取的
consigneeName: grid.getSelectionModel().getSelected().get("consigneeName")//同上
});
//又是重点,filterBy 函数, 可以通过这个,控制store的记录,返回true,就允许一条记录插入到stroe里,返货false就抛弃掉本条记录。
//store里每条记录都会过一遍这个方法,所以我们就在这里判断,把用户在Grid选中的那条记录里的combox记录给抛弃掉,
//为以后插入做准备
comboxConsigneeStore.filterBy(function(aRecord,aId){
if(aRecord.get("consigneeId") == grid.getSelectionModel().getSelected().get("consigneeId")){
return false;
}
return true;
});
//插入用户在Grid上选中的记录对应的那条combox记录,然后再控制选中,就满足了combox的特点。
comboxConsigneeStore.insert(0,cr);
comboxConsignee.setValue(comboxConsignee.getValue());
}
}
}
});
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yueue/archive/2009/08/27/4491087.aspx
发表评论
-
用来读取Excel 的JS 函数
2013-04-02 15:41 384/** * 读取EXCEL */ ... -
json-lib出现There is a cycle in the hierarchy解决办法
2009-05-16 02:46 768问题的出现 如果需要解析的数据间存在级联关系,而互相 ... -
如何把Ext.data.store里的数据一次性用JSON传给后台(添加了后台解析部分)
2009-10-12 03:37 1827前台部分很简单: 首先定义一个数组,用来储存STORE里的值 ... -
解决EXT DateField 用getValue() 发送到后台,后台取null的问题
2009-10-12 03:38 1054var searchContractDate = new Ex ... -
一个Toolbar不够用,如何实现2个Toolbar并存
2009-11-12 07:52 793var grid = new Ext.grid.GridP ... -
为什么ext combox 下拉框不出现自动提示,自动选中
2009-11-12 07:55 927ext combox 如果想实现类似于 baidu 搜索时的提 ... -
如何做一个两列的FormPanel
2009-11-19 00:56 1380有时一个FormPanel 放很多输入框会变的很长,这时候需 ... -
你为什么要给store.reload()加params?
2009-12-22 08:03 2900今天之前,我在用reload 刷新页面的时候,一直是这样用的 ... -
Spket的安装和配置
2009-04-14 22:19 971一、Spket的安装 1、Plugin:最低要求: ecli ... -
EXT格式的处理
2009-04-14 22:25 735处理Grid中日期 DateField 可以 renderer ... -
EXT中嵌入FCK Editor
2009-04-14 22:26 747<!DOCTYPE html PUBLIC " ... -
EXTJS如何通过JSON与服务器通信
2009-04-17 09:29 1147How tocommunicate with server ... -
如何把一个对象转换为JSON并将其发送到服务器
2009-04-17 09:34 1531Manual:Core:Working with JSON ( ... -
Ext的Store中的Fields如何读取JSON对象中的子字段
2009-04-08 17:57 3042有时候得到的JSON对象的字段是个对象,想获得这个对象的子字段 ... -
Extjs Ajax 乱码问题解决方案
2009-04-08 17:18 20062009年4月8日整理于乌海 乱码的原因 ...
相关推荐
ext combox自动提示 仿百度式自动提示
extcombox搜索功能
EXTjsEXT中COMBOX联动EXT中COMBOX联动EXT中COMBOX联动EXT中COMBOX联动EXT中COMBOX联动
Ext中使用combox实现模糊查询,内附详细代码与图片!
ext combox 如果想实现类似于 baidu 搜索时的提示功能。必须禁止其分页功能才可以。
c#实现简单的combox自动搜索功能,类似百度的搜索输入框功能
利用 CCombobox 实现百度,google自动匹配,当用户在输入框输入内容时,在下拉框中自动提示与用户输入内容相匹配的项,供用户选择。MFC没有自动提示输入的控件,因此用CComboBox实现,在编程过程中会遇到一些问题,...
Combox下拉多值的源码,点击就可以用
C#COMBOX控件绑定数据库查询值,将数据库查询的值绑定到combox控件上,显示给人看
combox 实现搜寻功能combox 实现搜寻功能
combox.js,对下拉框自动搜索功能
C# 带查询功能自动提示的ComBox下列框控件 C# 带查询功能自动提示的ComBox下列框控件
带历史记录功能的Combox控件 MFC 源代码,可以存储在文件中或者注册表中。
今天突然遇到ComBox选项长度过长问题.. 故重绘实现ComBox选项过长换行问题.
DataGridView当更改了其中一列的值后,动态更改另一列的值。 功能就是更新某列数据,相应的更新时间也要更改,使用的是Access数据库。完整版本。.
combox根据输入自动查询 挺牛的 有很多功能
VC++ 演示如何动态添加Combox列表值,本来那个Combox里面是没有值的,如果它是一个静态的,那也没什么可参考的,现在它是通过点击按钮后激活动作,然后将预留的值动态添加进combox,这将大大拓宽它的实用价值,因此...
combox的栏数如何生成?
VS2015 MFC Oracle11 Combox 下拉列表 连接数据库 自动补全