extjs ComboTable 下拉框赋值以及文本
时间: 2024-03-17 13:41:52 浏览: 73
extjs 复选下拉框的例子
4星 · 用户满意度95%
`ComboTable` 是 ExtJS 中的一个扩展组件,它是一个下拉框和表格的组合,可以通过表格来选择下拉框的选项。给 `ComboTable` 赋值的方法和普通的下拉框类似,只需要给下拉框和表格设置对应的数据即可。
要设置 ComboTable 的文本值,需要先找到对应的记录,然后将记录的文本字段设置为 ComboTable 的文本值。
示例代码如下:
```javascript
// 创建一个 store,用来存储下拉框的选项
var store = Ext.create('Ext.data.Store', {
fields: ['value', 'text'], // 设置 store 的字段
data: [ // 设置 store 的数据
{value: '1', text: '选项1'},
{value: '2', text: '选项2'},
{value: '3', text: '选项3'},
]
});
// 创建一个表格,用来显示下拉框的选项
var grid = Ext.create('Ext.grid.Panel', {
store: store, // 设置表格的数据源
columns: [
{text: '值', dataIndex: 'value'},
{text: '文本', dataIndex: 'text'},
],
});
// 创建一个 ComboTable
var comboTable = Ext.create('Ext.ux.form.ComboTable', {
fieldLabel: '下拉框', // 下拉框的标签
store: store, // 设置下拉框的 store
displayField: 'text', // 显示字段为 text
valueField: 'value', // 值字段为 value
tableConfig: { // 配置表格
columns: [
{text: '值', dataIndex: 'value'},
{text: '文本', dataIndex: 'text'},
],
},
});
// 将 ComboTable 添加到某个容器中
// ...
// 给 ComboTable 设置选中值和文本
comboTable.setValue('2');
var record = store.findRecord(comboTable.valueField, comboTable.getValue());
comboTable.setRawValue(record.get(comboTable.displayField));
```
在上述示例中,我们首先创建了一个 `store`,用来存储下拉框的选项。接着创建了一个表格 `grid`,并将 `store` 设置为表格的数据源。然后创建了一个 `ComboTable`,并将 `store` 设置为下拉框和表格的数据源。设置了下拉框的显示字段和值字段,同时配置了表格的列。然后调用 `comboTable.setValue('2')` 方法给 `ComboTable` 设置了选中值,接着通过 `store.findRecord()` 方法找到对应的记录,最后调用 `comboTable.setRawValue()` 方法将记录的文本字段设置为 ComboTable 的文本值。
阅读全文