`

ext,MultiSelect,动态添加, 也不知道对不对

    博客分类:
  • EXT
EXT 
阅读更多

最近公司一个项目,因为要使用div模拟的窗口,因为久闻extjs的大名,因此就想在项目中使用一下.首先下载了multiselect的 extjs3.0 demo.看到的代码这里我就不粘贴了.因为它这个是创建时自动加载的ArrayStore(关键字是:data: ds),没有动态增加的示例,但我们的项目需要有三个列表框,并且后两个的内容要根据第一个列表框内容动态的加载,因此要在选择第一个列表框的内容时,动 态填充后两个的内容.我比较佩服exjts的示例写作人员,这些应该在示例中体现的功能,他们都没有写到,包括之前的2.2版本的示例,网上也没有搜索 到,害我找了一天如何动态控制列表数据的功能.首先说明一下,我的方法也不是官方的方法,只是自己灵机一动想到的,下面是动态增加列表项的方法.

    在方法之前我的关于multiselect对象的store是这样定义的:

     flowDs = new Ext.data.ArrayStore({
        data: [[123,123]],
        fields: ['value','text']
    });

    (1)var toflowStore = msForm.getForm().findField('toflow').store; //根据名称得到multiselect对象的store对象;

    (2)创建一个Ext.data.Record对象,这正在我想了好久的增加方法,也怪自己太笨了:

       var record = new Object();
        record.value = "2";
        record.text = "3";   

        var records = new Ext.data.Record(record);

    (3) 将创建的Ext.data.Record对象加至multiselect的store对象中:

         toflowStore.add(record1);

    通过以上三步就可以为列表multisleect动态增加列表项了,提醒一下删除某项可以通过remove()/removeAll()方法,具体的使用方法可以通过示例代码的ItemSelector.js中查到.

   通过以上分析后,大致可以简单估计到multiselect的创建规则,在store中有一个属性fields: ['value','text'],则在创建时,系统会通过循环的方式将属性data:[[123,123]]中的内容创建为object对象,然后写到 时它的store对象中,类似下面的代码:

     var item = [],itemObj,record;

     for(var i = 0; i< this.data.length;i++){

           item = this.data[i];  

           itemObj = new Object();

           itemObj.value = item[0];

           itemObj.text = item[1];

           record = new Ext.data.Record(itemObj);

           this.store.add(record);

     }

     以上只是我腓臆的猜测,具体extjs的工程师是不是如此设计他们的程序,还没有仔细研究.

分享到:
评论

相关推荐

    ext多选下拉列表的全选功能实现

    1. **配置MultiComboBox**:在创建MultiComboBox时,我们需要对其进行适当的配置,比如设置`multiSelect`属性为`true`来启用多选模式。此外,可能还需要配置`displayField`(显示字段)和`valueField`(值字段)来...

    ext js 动态下来框

    在描述中提到的"动态下拉框"(Dropdown)和"checkbox",是指在Ext JS中实现的一种具有选择功能的下拉列表,用户可以选择多个选项,每个选项前都有一个复选框。这种组件通常被称为Checkbox Combo或Checkbox Select。 ...

    ext4实现带复选框的多选下拉框

    在IT行业中,构建用户界面时,常常需要提供一种方式让用户能方便地进行多选操作,例如在下拉框中添加复选框。标题提到的"ext4实现带复选框的多选下拉框"就是一个典型的例子,它涉及到前端开发中的组件设计与实现。这...

    EXT3.2 多选下拉框

    需要注意的是,EXT JS的事件处理和数据绑定也是重要的部分。例如,当用户选择或取消选择选项时,可以监听`select`事件,获取当前选中的值。同时,如果你的多选下拉框是动态加载数据的,可能还需要实现远程数据加载和...

    解决ext下拉列表全选和去全选功能

    为了实现全选和去全选的功能,我们可以添加两个按钮,分别绑定到全选和去全选的方法。这些方法将遍历数据存储中的所有记录,并设置或清除它们的选中状态: ```javascript var selectAllBtn = Ext.create('Ext....

    Ext combobox 下拉多选框带搜索功能

    3. **数据源**:ComboBox的数据源可以是静态数组,也可以是动态加载的数据,如通过Ajax请求获取。数据项通常包含一个字段用于显示(例如,`text`),另一个用于存储(例如,`value`)。 4. **模板**:为了显示多选...

    extjs 列表框(multiselect)的动态添加列表项的方法

    因为它这个是创建时自动加载的ArrayStore(关键字是:data: ds),没有动态增加的示例,但我们的项目需要有三个列表框,并且后两个的内容要根据第一个列表框内容动态的加载,因此要在选择第一个列表框的内容时,动态填充后两...

    ext-----多选下拉框

    在EXT中实现多选下拉框,主要涉及到EXT的`ComboBox`组件和`multiSelect`配置项。`ComboBox`是一个灵活的输入控件,可以用于创建下拉列表,而`multiSelect`则决定了是否允许用户选择多个值。 1. **EXT ComboBox**: `...

    基于EXT2.2的下拉复选框

    `Ext.mm.MultSelect.js`很可能是一个名为"Multiselect"的EXT2.2插件,用于实现多选下拉框。这个插件可能扩展了`Ext.form.ComboBox`,添加了多选功能,允许用户在下拉列表中勾选多个条目。它可能包含了一些额外的方法...

    Ext 动态树

    在Ext中,"动态树"是指能够根据需求实时生成或更新的树形结构组件。这种组件在数据管理、目录结构展示、层级关系表示等方面非常有用。下面我们将详细探讨Ext动态树的相关知识点。 首先,我们要理解Ext的树...

    Ext用户扩展控件----------支持多选的列表,就像QQ控件添加删除音乐列表的控件

    这个控件的实现通常是通过EXT的`Ext.form.field.MultiSelect`类来完成的,它扩展了基本的下拉选择框,提供了多选功能。 在描述中提到的“就像QQ空间编辑音乐列表的那个东西一样”,可以理解为这个控件具有以下特点...

    EXT 项目下拉列表多选框 使用示例 含源代码

    在Java EXT项目中,下拉列表多选框(LovCombo)是一种常见的用户界面元素,它允许用户在下拉菜单中选择一个或多个选项。...通过学习和实践,你不仅可以掌握EXT中的LovCombo组件,还能对EXT框架有更深入的理解。

    Ext多选下拉框

    在Ext JS这个强大的JavaScript框架中,多选下拉框(Multi Select ComboBox)是一种常见的组件,用于提供用户在多个选项中进行选择的功能。这种组件在数据输入、筛选或配置设置等场景中非常实用。本篇文章将深入探讨...

    EXT多选COMBO

    EXT多选COMBO是一种在EXTJS框架中实现的组件,用于创建具有多选功能的下拉框。EXTJS是一款强大的JavaScript UI库,它提供了一系列预定义的组件,帮助开发者构建富客户端应用程序。在这个特定的场景中,“EXT多选...

    combobox Ext之扩展组件多选下拉框

    要实现多选下拉框,我们需要对原生的ComboBox进行以下改造: 1. **配置项设置**: - `multiSelect`:设置为`true`,启用多选功能。 - `typeAhead`:多选模式下通常不需要自动补全,可以设置为`false`。 - `...

    coolite MulSelect

    &lt;ext:MultiSelect runat="server" Legend="WithLegend" Width="300" Height="250"&gt; &lt;ext:ListItemText Text="Item1" Value="1"/&gt; &lt;ext:ListItemText Text="Item2" Value="2"/&gt; &lt;ext:ListItemText Text="Item3" ...

Global site tag (gtag.js) - Google Analytics