有没有办法通过字符串引用回到组合框的实例?
我有一个解决方法,但不是很满意,特别是因为我认为将来需要创建更多的ComboBox。
我尝试过使用'reference','id','itemId'。
我问的原因是b / c我倾销关于我的字段的元信息,并且元信息作为字符串出现。
这很有效,直到我需要一个javascript实例为我的'编辑器'。
当信息引用它时,我无法引用javascript实例 我在下面发布我的代码(只是相关部分),并在我的问题/问题/解决方法附近发表评论。
var my_combo=Ext.create('Ext.form.field.ComboBox', {
listClass: 'x-combo-list-small',
store: ['string', 'int', 'number', 'boolean', 'date'],
queryMode: 'local',
displayField: 'data_type',
valueField: 'data_type'
});
var center_grid = Ext.create('Ext.grid.Panel', {
store: ourrecordstore,
region: 'center',
selModel: Ext.create('Ext.selection.CheckboxModel'),
selType: 'rowmodel',
/*
columns: {{grid_panel_columns|safe}},// <---this does not work b/c we need to use javascript variable, not something quoted.
if we could use a string to identify the data_type_combo object, that would be ideal.
for now i am iterating across the dictionary and if the editor i want is data_type_combo, then i have code below to use the data_type_combo instance
previously what you see on the next line was used (django template), but it failed when i needed to add drop downs via combobox.
columns:[{{grid_panel_columns|safe}}]
*/
columns: [{% for column in grid_panel_columns %}
{% if column.editor == "data_type_combo" %}
{'filter': {'type': 'string'},'text': 'data_type', 'dataIndex': 'data_type','editor':my_combo},
{% else %}
{{column|safe}},
{% endif %}
{% endfor %}],
})
这就是grid_panel_columns数组的样子
'grid_panel_columns': [
{'filter': {'type': 'string'}, 'text': 'name', 'dataIndex': 'name', 'editor': 'textfield'},
{'filter': {'type': 'string'}, 'text': 'data_type', 'dataIndex': 'data_type', 'editor': 'data_type_combo'},
{'filter': {'type': 'string'}, 'text': 'active', 'dataIndex': 'active', 'editor': 'textfield'},
{'filter': {'type': 'string'}, 'text': 'id', 'dataIndex': 'id'}
],
答案 0 :(得分:1)
我不知道我是否理解,但你想为你的编辑器设置一个特定的组合框,如xtype: 'combo'
?
您可以根据可用作editor: 'data_type_combo
的组合框定义新的xtype。
以下是如何实现这一目标的示例:https://fiddle.sencha.com/#fiddle/nup