首页 > 网站 > WEB开发 > 正文

extjs中使用ItemSelector 控件(从左边选到右边)

2024-04-27 14:11:33
字体:
来源:转载
供稿:网友

extjs中使用ItemSelector 控件(从左边选到右边)

  最近在项目中需要使用到从左边选到右边的那种控件,在window中见过,不知道叫啥名字,后来知道了这种控件叫做ItemSelector控件(效果如下图)。

公司使用的是ext 3.4 ,在api中目前还找不到Itemselector的文档,后来在官方的examples中找到一个,需要利用到ux包中的扩展类来实现。

在这里分享一下给大家。

   1.首先需要引入两个js文件、一个CSS样式表,分别是:

    MultiSelect.js、ItemSelector.js、MultiSelect.css

    js文件可以在官方包中的examples/ux/form下面找到,css文件在examples/ux/css中找到

1 <link rel="stylesheet" type="text/css" href="./css/MultiSelect.css" />2 ......3 <script type="text/javascript" src="./inc/ux/ItemSelector.js"></script>4 5 <script type="text/Javascript" src="./inc/ux/MultiSelect.js"></script>

   2.Ext.ux.form.ItemSelector = Ext.extend(Ext.form.Field, {..)}

    ItemSelector其实是继承自field,这样我们就可以将其放入formPanel中:

    

                 /*未分配的条目*/  var ds_from = new Ext.data.ArrayStore({   url:'./'+ORD_BARGAINDISTRIBUTE,   baseParams:{action:'aviliable',bizId:business_id},PRuneModifiedRecords : true,        fields: [{name:'value'},{name:'text'}]    });            /*已分配的条目*/    var ds_to = new Ext.data.ArrayStore({     url:'./'+ORD_BARGAINDISTRIBUTE,     baseParams:{action:'fenpei',bizId:business_id},pruneModifiedRecords : true,        fields: [{name:'value'},{name:'text'}]    });            ds_from.load();ds_to.load();......                           new Ext.form.FormPanel({region:'center',id:'selector_form',width:350,bodyStyle:'padding:10px',items:[{                        xtype:'itemselector',      //设置此field类型为fieldname:'itemselector',hideLabel:true,                //隐藏标签imagePath: './images',      //配置方向图标的文件夹位置        multiselects: [{               //待选择框                  width: 150,                    height: 260,                  legend:'可选条目',                  store: ds_from,        //待选择资源的结果集                  displayField: 'text',     //显示的字段                  valueField: 'value'      //值字段          },                                 {                   //已选择框                  width: 150,                  height: 260,                  hideLabel:true,                  legend:'已选条目',                  store:ds_to,                  displayField: 'text',    //显示的字段                  valueField: 'value',        //值字段                  tbar:[{                    text: '清空',                    iconCls:'remove',                    handler:function(b,e){                                        //用reset重置已选择的项                    Ext.getCmp('selector_form').getForm().findField('itemselector').reset();                }                 }]                      }]}]})

     3.取值。

  

var select_values  = Ext.getCmp('selector_form').getForm().getValues(true);  //获取已选择的值  

    取出来的值会包含空格以及一些无用的文字开头,这时候就需要我们自己处理格式化取出来的值了。

    4.感谢阅贴。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表