Extjs 与 Radiogroup

发布于 2024-10-30 06:19:56 字数 46 浏览 0 评论 0原文

我们可以将静态 json 存储与 ext 中的 radiogroup 绑定吗?

can we bind static json store with radiogroup in ext?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

清君侧 2024-11-06 06:19:56

Radiogroups 和 Stores 在 ExtJS 中并不直接相关。从商店填充表单值很容易,但使用商店实际创建字段需要一些处理。具体来说,您必须执行类似的操作(假设 Ext 3.3.1),并且您的 JsonStore 已设置...

var store = <your predefined store, with records>;
var itemsInGroup = [];

store.each( function(record) {
  itemsInGroup.push( {
      boxLabel: record.someLabel, 
      name: record.someName, 
      inputValue: record.someValue
    });  
});

var myGroup = { 
  xtype: 'radiogroup', 
  fieldLabel: 'My Dynamic Radiogroup', 
  items: itemsInGroup 
};

Radiogroups and Stores are not directly related in ExtJS. It's easy to populate form values from a store, but using a store to actually create the fields requires a slight work around. Specifically, you would have to do something like this (assuming Ext 3.3.1), and that your JsonStore is already set up...

var store = <your predefined store, with records>;
var itemsInGroup = [];

store.each( function(record) {
  itemsInGroup.push( {
      boxLabel: record.someLabel, 
      name: record.someName, 
      inputValue: record.someValue
    });  
});

var myGroup = { 
  xtype: 'radiogroup', 
  fieldLabel: 'My Dynamic Radiogroup', 
  items: itemsInGroup 
};
故人爱我别走 2024-11-06 06:19:56

您可以使用 dataView 来进行此操作。根据存储值,您可以添加单选按钮。
假设您的商店有 5 个商品,那么将显示 5 个单选按钮。

    var tpl = new Ext.XTemplate('<tpl for=".">', '<div class="thumb-wrap" style="width:210px; float: left;">', '<label >', '<tpl>', '<input type=radioField value={fieldId} >', '</tpl>', '{dataViewFieldName}', '</label>', '</div>', '</tpl>', {            
    });
    var me = this;

this.items = new Ext.DataView({
        store: this.store,
        tpl: tpl,            
        overClass: 'x-view-over',
        itemSelector: 'div.thumb-wrap',           
        autoScroll: true            
    });
    this.callParent();
},  

You can use dataView for this operation. Depending on store value you can add radio buttons.
Suppose your store has 5 items than 5 radio buttons will be displayed.

    var tpl = new Ext.XTemplate('<tpl for=".">', '<div class="thumb-wrap" style="width:210px; float: left;">', '<label >', '<tpl>', '<input type=radioField value={fieldId} >', '</tpl>', '{dataViewFieldName}', '</label>', '</div>', '</tpl>', {            
    });
    var me = this;

this.items = new Ext.DataView({
        store: this.store,
        tpl: tpl,            
        overClass: 'x-view-over',
        itemSelector: 'div.thumb-wrap',           
        autoScroll: true            
    });
    this.callParent();
},  
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文