或多或少的配置如下所示:
{
xtype: 'widgetcolumn',
//text: "", //localize
dataIndex: "carStatusButton",
//disable action for the column
sortable: false,
filter: false,
menuDisabled: true,
widget: {
xtype: 'changeavailbutton',
//reference: "gridCarStatusButton", we cannot use reference because we get a duplicate reference warning
//text is being automatically generated from dataIndex of widgetcolumn
/*
//didn't work!
defaultBindProperty: "curCarStatus", //default is text
curCarStatus: "aaaaaaaa",
setCurCarStatus: function (value) {
this.curCarStatus = value;
},*/
/*
getCurCarStatus: function () {
return "aaaaaa"
},
setCurCarStatus: function (value) {
},*/
/*text: (function() {
return this.enableToggle;
})(),
bind: {
},*/
},
}
updater(cell, value, record, view)
但最初没有调用renderer(value, metadata, record)
,但我们只能影响价值,它不会给我们任何小工具帮助我们考虑在窗口小部件中使用自定义defaultBindProperty
,如下所示:
defaultBindProperty: "curCarStatus", //default is text
curCarStatus: "",
setCurCarStatus: function (value) {
this.curCarStatus = value;
}
以上有助于避免在模型中创建必要的额外字段。换句话说,最初我们在模型中有一个字段,作为一个瞬态字段来获取dataIndex
widgetcolumn
内的计算值但是没有为我们尝试的内容提供任何帮助实现
事实是(来自文档)widgetcolumn
将dataIndex
绑定到defaultBindProperty
的{{1}}。一个问题是在后台发生了一个绑定,我们不知道它的关键值。如果它是一个配置,它看起来像是:
widget
如果我们知道如何调用该属性,那么在各种属性中使用它可能会有所帮助,因为在我们的情况下我们需要将多个属性绑定到小部件。
我们实际上正在寻找bind: {
text: "{unknownProperty}"
}
提供给isDisabled
的{{1}}提供的类似功能。
答案 0 :(得分:2)
在widgetcolumn中:
onWidgetAttach: function (column, widget) {
if (widget.getWidgetRecord().get('property')) {
widget.setDisabled(false)
} else {
widget.setDisabled(true)
}
}
可以使用grid.getView().refresh()
更新网格以反映任何更改