如何在ExtJS的GridPanel组件中的表格中添加一个包含RadioGroup单选项的列?
时间: 2024-10-26 10:03:47 浏览: 21
Extjs中的GridPanel隐藏列会显示在menuDisabled中解决方法
在Ext JS的GridPanel组件中添加一个包含RadioGroup单选项的列,你需要按照以下步骤操作:
1. **创建RadioGroup Column**:
首先,创建一个新的Column配置对象,指定type为`'radio'`,并设置groupKey属性,这个属性用于确定哪些行内的Radio按钮组是相关的。
```javascript
var radioGroupConfig = {
header: '选择',
dataIndex: 'selectColumn', // 指定数据字段名
width: 50,
renderer: function(value, metaData, record) {
return Ext.create('Ext.RadioGroup', {
columns: 1,
groupField: 'groupKey', // 这里假设groupKey是每行记录特有的标识
items: [
{ boxLabel: 'Option 1', value: true },
{ boxLabel: 'Option 2', value: false }
],
listeners: {
change: function(radioGroup, newValue, oldValue, eOpts) {
// 当单选框状态改变时,可以在这里处理逻辑
}
},
store: record.getStore() // 确保RadioGroup从Grid的store获取数据
});
}
};
```
2. **将Column添加到GridPanel**:
将上述配置的Column添加到GridPanel的columns数组中。
```javascript
var grid = Ext.create('Ext.grid.Panel', {
store: yourStore, // 替换为你的数据存储实例
columns: [ radioGroupConfig, ...其他列... ], // 在现有列中添加新列
// 其他GridPanel配置...
});
```
3. **确保RadioGroup的数据绑定**:
为了使RadioGroup与Grid的数据源同步,需要确保RadioGroup的store引用的是相同的store,并且groupKey字段与dataIndex字段相对应。
阅读全文