`
kangsoft
  • 浏览: 72003 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ComboBox或TextField实现下拉GridPanel控件

EXT 
阅读更多

      之前,在网上找了些关于下拉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
7
0
分享到:
评论
2 楼 木子响 2012-08-31  
提供了一种下拉Grid的新的思路,虽然我不准备用这种方式,不过还是要赞一下,收了。
1 楼 weibawoaini 2010-11-19  
不错。。。。。。。。。。。。

相关推荐

    wpf_combobox_tree下拉树形控件

    在本文中,我们将深入探讨如何将Silverlight的树形下拉控件转化为WPF(Windows Presentation Foundation)环境下的使用,并以此创建一个名为“wpf_combobox_tree”的自定义控件。这种控件通常用于增强传统的ComboBox...

    vs2008演示ComboBox下拉列表控件的使用实例

    在Visual Studio 2008(VS2008)中,ComboBox是一个非常常见的控件,它结合了文本框和下拉列表的功能,允许用户在输入文本的同时选择预定义的选项。这个“vs2008演示ComboBox下拉列表控件的使用实例”将向我们展示...

    带选择项CheckBox的下拉列表ComboBox控件

    本话题聚焦于一个特定的UI组件,即“带选择项CheckBox的下拉列表ComboBox控件”。这个控件结合了两种常见的界面元素:CheckBox和ComboBox,提供了一种更灵活的选择方式,特别是在需要用户从多个选项中进行多选时。 ...

    C# 基于ComboBox 下拉多选 自定义控件 源代码

    继承自C# Winform中ComboBox的下拉多选控件,操作简单,效果非常好 1、多选。 2、可绑定List,DataTable,Dictionary类型的数据源。 3、在下拉列表中可显示自定义的多列数据。 4、可在下拉列表中通过输入关键字,...

    delphi写ComboBox下拉DBGrid第三方控件的例子

    在Delphi编程环境中,开发人员经常需要自定义控件来满足特定的需求,比如将ComboBox的下拉部分替换为一个DBGrid。这样的设计可以提供更丰富的数据查看和操作能力,使得用户能够在一个小巧的控件中浏览和编辑大量数据...

    WPF 下拉列表框ComboBox扩展控件

    例如,我们可以添加一个DataGrid控件到ComboBox的下拉部分,这样当用户展开ComboBox时,会看到一个可滚动的数据表格,而非传统的列表项。DataGrid非常适合显示多列数据,允许用户对行进行排序、筛选和编辑。 同时,...

    combobox下拉时间选择控件

    为了实现"combobox下拉时间选择控件",开发者通常需要自定义控件或者扩展ComboBox的功能。在描述中提到附带了源码,这意味着我们将有一个现成的解决方案,可能是一个名为DateTimePickerEx的自定义控件,这个控件结合...

    DataGridView控件中加入ComboBox下拉列表框

    在本篇文章中,我们将深入探讨如何在`DataGridView`中集成`ComboBox`下拉列表框,以及相关的实现细节和应用场景。 首先,我们需要理解`DataGridView`和`ComboBox`的基本用法。`DataGridView`是一个可自定义的数据...

    WPF MulitCheckComboBox 多选下拉控件

    总的来说,MulitCheckComboBox是一个针对WPF环境的实用控件,它结合了ComboBox的下拉功能和复选框的多选特性。对于希望在WPF应用中实现多选下拉交互的开发者来说,这是一个非常有价值的工具。使用这个控件,可以节省...

    在DataGridView控件中加入ComboBox下拉列表框的实现

    在.NET Framework的Windows Forms开发中,`DataGridView`控件是一个常用的数据展示工具,而`ComboBox`则用于提供下拉选项供用户选择。将`ComboBox`集成到`DataGridView`的某一列,可以为用户提供更加丰富的交互体验...

    支持鼠标滚轮的ComBox下拉列表控件

    在VB(Visual Basic)编程环境中,创建一个支持鼠标滚轮的ComboBox下拉列表控件能够极大地提高用户交互体验。ComboBox控件通常是用户界面中的一个重要元素,它结合了文本输入框和下拉列表的功能,允许用户从预设的...

    C#重定义的下拉多选控件,支持显示多列、单选/多选,文件中附有源码

    传统的ComboBox通常只能单选,而这个重定义的控件允许用户进行单选或多选操作,这在处理大量选项时非常方便。通过简单的设置,开发者可以控制用户在使用控件时的行为模式。 其次,数据源绑定的多样性也是其一大特点...

    VC/MFC ComboBox下拉列表控件程序

    本程序示例主要展示了如何创建和操作ComboBox控件,实现添加项目、响应用户选择等功能。 1. **ComboBox控件介绍** ComboBox控件由两部分组成:一个可编辑的文本框和一个下拉列表。用户可以在文本框中输入文字,也...

    combobox实现下拉框多选

    本方法和用checkbox, listbox等控件和事件拼凑出来的不同,本方法是一个集成的独立控件,基本实现了控件的顺滑度,下拉框可悬浮等效果,可以认为是comboBox的升级版,使用方便,仅需引用编译好的DLL,直接在toolBox...

    C#树形下拉列表控件

    要实现C#中的树形下拉列表控件,开发者通常会结合使用TreeView和ComboBox控件。TreeView控件用于展示层级结构,而ComboBox则提供一个下拉列表供用户选择。以下是一些关键知识点: 1. **控件创建**:首先,你需要在...

    unigui自定义下拉combobox

    在IT领域,尤其是在开发用户界面时,控件的定制化是提升用户体验的关键。"unigui自定义下拉combobox"是一个专为Unigui框架设计的组件,它提供了更丰富的功能,使得开发者能构建更加灵活和交互性强的前端应用。下面...

    ComboBox 自动调整组合框下拉部分的宽度

    在Windows Forms应用程序开发过程中,`ComboBox` 控件是非常常用的一种控件,用于提供一个下拉列表供用户选择。有时,根据列表项文本长度的不同,我们可能需要动态地调整`ComboBox`下拉列表的宽度,以确保所有列表项...

    C#WinForm的ComboBox控件自定义实现自动模糊匹配查找数据的方法

    C#WinForm的ComboBox控件自定义实现自动模糊匹配查找数据的方法 与控件自带的AutoCompleteMode类似,完美实现模糊匹配,解决AutoCompleteMode只能从左向右匹配的问题

    vb.net DataGridView中添加ComboBox和按钮的控件

    本教程将深入探讨如何在`DataGridView`中添加`ComboBox`(下拉列表框)和按钮控件,以增强用户交互性和功能多样性。 首先,我们需要了解`DataGridView`的基本操作。它允许程序员动态地生成列,并可以与数据库或其他...

    C# winform 开发的带多选的下拉控件 自适应屏幕

    在标准的Windows Forms控件中,ComboBox通常用于实现下拉选择功能,但它默认只支持单选。为了实现多选,开发者通常会转向CheckedListBox或ListView控件,但这两者并不提供下拉样式。因此,要创建一个带有多选功能的...

Global site tag (gtag.js) - Google Analytics