之前,在网上找了些关于下拉GridPanel的解决方案,但都不是太理想,主要问题是当我将控件放入一个弹出框中显示,在搜索后,出现的下拉GridPanel会处于Window的后面被遮挡住,这样就不行了。试图去改进,但是嫌麻烦,于是自己重新想了个解决方案。不过代码还有待进一步改进,希望用到的朋友能够提更多的建议...(Q号:329365156)
代码如下:
// 信息列
var cm = new Ext.grid.ColumnModel([new Ext.grid.RowNumberer(), {
header : '企业编号',
dataIndex : 'userId',
sortable : true
}, {
header : '企业名称',
dataIndex : 'entName',
sortable : true
}, {
header : '付款单位编号',
dataIndex : 'payEntId',
sortable : true
}, {
header : '付款单位名称',
dataIndex : 'payEntName',
sortable : true
}]);
// 信息数据源
var ds = new Ext.data.Store({
autoLoad : false,
proxy : new Ext.data.HttpProxy({
url : '#'
}),
reader : new Ext.data.JsonReader({
totalProperty : 'total',
root : 'root'
}, [{
name : 'userId'
}, {
name : 'entName'
}, {
name : 'payEntId'
}, {
name : 'payEntName'
}])
});
// 显示列表
var comboBoxGrid = new Ext.grid.GridPanel({
ds : ds,
cm : cm,
width : 450,
height : 180,
region : 'center',
autoSizeColumns : true,
loadMask : true,
frame : true,
trackMouseOver : true,
viewConfig : {
forceFit : true
},
bbar : new Ext.PagingToolbar({
pageSize : 5,
store : ds,
displayInfo : true,
beforePageText : "第",
afterPageText : "页 共{0}页",
displayMsg : '显示第 {0} 条到 {1} 条记录,一共 {2} 条',
emptyMsg : "没有记录"
})
});
// 双击事件
comboBoxGrid.on('rowdblclick', function(grid, rowIndex, e) {
selectMenu.hide();
var record = grid.getSelectionModel().getSelected();
var entName = record.get("entName");
invNoTf2.setValue(entName);
});
var selectMenu = new Ext.menu.Menu({
items : [comboBoxGrid]
});
var entNameTf = new Ext.form.TextField({
fieldLabel : '企业名称',
name : 'entName',
enableKeyEvents : true,
anchor : '95%',
listeners : {
specialkey : function(field, e) {
if (e.getKey() == e.ENTER) {
var url = '/jadsoft/businessInvoices.do?actionType=GetEntInfos&key='
+ entNameTf.getValue()
ds.proxy.setUrl(url, true);
if (this.menu == null) {
this.menu = selectMenu;
}
ds.load({
params : {
start : 0,
limit : 5
}
});
this.menu.show(this.el, "tl-bl?");
}
}
}
})
示例如下图:
- 大小: 31 KB
分享到:
相关推荐
网上的一个silverlight的树形下拉控件,改成wpf使用的了,希望对各位有所帮助。
继承自C# Winform中ComboBox的下拉多选控件,操作简单,效果非常好 1、多选。 2、可绑定List,DataTable,Dictionary类型的数据源。 3、在下拉列表中可显示自定义的多列数据。 4、可在下拉列表中通过输入关键字,...
ComboBox下拉菜单改为一个DBGrid的例子
项目中经常需要使用多选下拉交互的控件,于是自己封装了一个helper,用于选择状态的读取,当然还包括多选框样式,仅供参考学习
vs2008演示演示ComboBox下拉列表控件的使用实例
在DataGridView控件中加入ComboBox下拉列表框的实现
对WPF的ComboBox进行了扩展,现在可以在下拉列表中嵌入DataGrid/ListView/ListBox等数据控件,实现了展开后列表的自动选择,自动滚屏,并完全支持数据的绑定操作
DataGridView控件中加入ComboBox下拉列表框
自己封装的继承自C# Winform中ComboBox的下拉多选控件,操作简单,效果非常好。①,可设置允许单选或多选。②,可绑定List,DataTable,Dictionary,string>类型的数据源。③,在下拉列表中可显示自定义的多列数据。...
本方法和用checkbox, listbox等控件和事件拼凑出来的不同,本方法是一个集成的独立控件,基本实现了控件的顺滑度,下拉框可悬浮等效果,可以认为是comboBox的升级版,使用方便,仅需引用编译好的DLL,直接在toolBox...
combobox下拉时间选择控件,附源码
C#WinForm的ComboBox控件自定义实现自动模糊匹配查找数据的方法 与控件自带的AutoCompleteMode类似,完美实现模糊匹配,解决AutoCompleteMode只能从左向右匹配的问题
用combobox实现的字体格式选择控件,此控件实现的功能相对简化,但是能满足基本的要求。此Dll是一个用户自定义控件,引用方法可上网搜集.
【最新】 MFC 修改ComboBox的样式,下拉列表的背景色 + 按钮样式,工程使用的是VS2017
本程序示例了VC中的下拉列表控件ComboBox控件的基本使用,有添加项目,根据用户选择某项做相应的功能
delphi7实现 combobox下拉hint
在DataGridView控件中加入ComboBox下拉列表框的实现案例
还有一个问题没解决,当comboboxdg在表格里时。第一次改变combobox的text值是不起作用的。哪位知道了解决方法,别忘了告诉我一声。 基本上是可以用的。不过写死了一些地方。 等待您的指点
支持鼠标滚轮的ComBox下拉列表控件
DataGridView中添加ComboBox和按钮的控件