/**
* 系统通用下拉选择Gird
*/
Ext.define("Common.picker.GridPicker", {
extend: "Ext.form.field.Picker",
alias: 'widget.gridPicker', displayField: null, valueField: null, matchFieldWidth: false, store: null, columns: null, pickerWidth: 400, pickerHeight: 300, editable: false, /**
* 创建Picker
* @return {Ext.grid.Panel}
*/
createPicker: function() {
var me = this,
picker = me.createComponent(); picker.on("itemclick", me.onItemClick, me); me.on("focus", me.onFocusHandler, me);
return picker;
}, /**
* 创建gridPanel,子类可以扩展返回个性化grid(比如条件查询等)
* @return {Ext.grid.Panel}
*/
createComponent: function() {
var me = this,
picker = Ext.create("Ext.grid.Panel", {
floating: true,
store: me.store,
columns: me.columns,
width: me.pickerWidth,
heigkt: me.pickerHeight,
dockedItems: [{
xtype: 'pagingtoolbar',
store: me.store,
dock: 'bottom',
displayInfo: true
}]
});
return picker;
}, /**
* 处理grid行单击事件
*/
onItemClick: function(view, record, item, index, e, eOpts ) {
var me = this;
me.setValue(record.get(me.valueField));
me.getPicker().hide();
me.inputEl.focus();
}, /**
* 获得焦点弹出
*/
onFocusHandler: function() {
var me = this;
if(!me.isExpanded) {
this.expand();
this.focus();
}
}, /**
* 设置值
* @param {Mixed} value
* @return {Common.picker.GridPicker} this
*/
setValue: function(value) {
var me = this,
record; me.value = value; if (me.store.isLoading()) {
//当store加载暂时不做处理
return me;
} if(value === undefined) {
return me;
} else {
record = me.getPicker().getSelectionModel().getSelection()[0];
} me.setRawValue(record ? record.get(me.displayField) : ''); return me;
}, /**
* 返回field的值
* @return {String}
*/
getValue: function() {
return this.value;
}, /**
* 返回提交到服务器端的值
* @return {String}
*/
getSubmitValue: function(){
return this.value;
} });

Extjs 弹出下拉Grid的更多相关文章

  1. IOS第二天-新浪微博 - 添加搜索框,弹出下拉菜单 ,代理的使用 ,HWTabBar.h(自定义TabBar)

    ********HWDiscoverViewController.m(发现) - (void)viewDidLoad { [super viewDidLoad]; // 创建搜索框对象 HWSearc ...

  2. easyui combobox点击输入框弹出下拉框

    由于easyui combobox需要点击下拉箭头才能下拉,不能像select标签那样点击输入框就下拉,所以觉得不太方便,查看了一下,combobox弹出框是一个div,原本想在他的输入框的点击事件中 ...

  3. 有序无序ul->li ol->li菜单,默认点击当前弹出下拉,再次点击收起下拉菜单

    实现这一效果利用css和js技术结合 以ul->li为例子 <!DOCTYPE html><html lang="en"><head> & ...

  4. JQuery autocomplete获得焦点触发弹出下拉框

    需求:autocomplete控件,当点击获得焦点的时候也要弹出下拉列表(autocomplete默认是输入之后才会跟随出下拉列表),下面直接贴代码. js代码: $("#customerN ...

  5. 用mobiscroll.js的treelist实现弹出下拉效果

    首先跟上次说的一样, 第一步:引入js.css样式 1)mobiscroll-2.13.2.full.min.css 2)jquery.min.js 3)mobiscroll-2.13.2.full. ...

  6. 【android开发】使用PopupWindow实现页面点击顶部弹出下拉菜单

    没有太多花样,也没有很复杂的技术,就是简单的PopupWindow的使用,可以实现点击弹出一个自定义的view,view里可以随便设计,常用的可以放一个listview. demo中我只是一个点击展示 ...

  7. 有序无序Ul->Li Ol->Li菜单,默认点击当前弹出下拉,再次点击收起下拉菜单(变形2 ---修饰)

    从上面可以看出,两个问题,第一:下拉出现的太快太突然,第二:再点击下一个下拉菜单的时候,上一个不会闭合,针对这两个问题,接下来会一 一解决. 解决下拉太快: js中有个jquery效果,有一个效果是j ...

  8. 强大DevExpress,Winform LookUpEdit 实现多列查询 gridview弹出下拉选择 z

    关键代码请参考http://www.devexpress.com/Support/Center/p/K18333.aspx 最新DEMO 下载 The current GridLookUpEdit's ...

  9. ActionBar点击弹出下拉框操作

    首先: getActionBar().setDisplayShowTitleEnabled(false); ActionBar.LayoutParams lp = new ActionBar.Layo ...

随机推荐

  1. PHP关于进程池的优化

    本文打算从另一个角度来讨论问题,教大家如何配置高效的环境,如此同样能够达到优化的目的. pool 一个让人沮丧的消息是绝大多数 PHP 程序员都忽视了池的价值.这里所说的池可不是指数据库连接池之类的东 ...

  2. k8s内核参数调优

    cat /etc/sysctl.conf kernel.core_uses_pid=1 kernel.pid_max=4194303 kernel.ctrl-alt-del=1 # kernel.co ...

  3. HttpClient中的Timout

    connection timeout和SoTimeout A connection timeout occurs only upon starting the TCP connection. This ...

  4. pandas 的数据结构Series与DataFrame

    pandas中有两个主要的数据结构:Series和DataFrame. [Series] Series是一个一维的类似的数组对象,它包含一个数组数据(任何numpy数据类型)和一个与数组关联的索引. ...

  5. ADO,OLEDB,ODBC,DAO,RDO的区别说明

    http://www.jb51.net/article/31286.htm http://wenku.baidu.com/link?url=D7iis1tmkyXTCqjsezsvYtYHWG8jK- ...

  6. mongodb 安装教学

    安装文件:mongodb-win32-x86_64-2008plus-ssl-3.2.6-signed.msi 电脑配置:win7 64位 MongoDB的安装很简单,设置好安装路径后,一直Next直 ...

  7. PLSQL_统计信息系列06_统计信息的历史和日志

    20150506 Created By BaoXinjian

  8. 计算机硬盘大小转换(B,KB,MB,GB,TB,PB之间的大小转换)

    程序猿都非常懒.你懂的! java程序猿在实际的开发中会遇到非常多的单位换算问题.今天我给大家带来的是关于计算机硬盘大小的换算.多数情况下.一般要求b,kb,mb,gb,tb,pb之间的大小转换,我们 ...

  9. 如何根据Ip获取地址信息--Java----待整理完善!!!

    如何根据Ip获取地址信息--Java----待整理完善!!! QQWry.dat数据写入方法: http://www.cnblogs.com/xumingxiang/archive/2013/02/1 ...

  10. mysql-5.7 saving and restore buffer pool state 详解

    一.mysql 重启要面临的问题: 由于重启后之前innodb buffer pool中缓存的数据就都没有了,如果这个时候业务SQL来临,mysql就只能是从磁盘中 读取数据到内存:可能要经过数个小时 ...