我们是否有一些通用方法来访问 Ext JS 网格列中存在的任何类型的控件?例如,我们在 5 行列中的组合框中选择一个值,或者选择一个复选框等。
我已经为这个问题苦苦挣扎了很长一段时间,任何帮助将不胜感激。
提前致谢!
示例:
带有组合框的网格
最佳答案
你不知道。
如果您想以编程方式更改网格中的值,则可以在网格的存储中更改它。编辑器只是用户的一个小 helper 。
所以你要做的就是找到绑定(bind)到网格的商店:
var store = grid.getStore()
你得到第一条记录:
var record = store.getAt(0); // zero-based index!
然后你得到第五列:
var column = grid.columns.getAt(4); // zero-based index!
以及 dataIndex(列中显示的字段):
var dataIndex = column.dataIndex
然后您在该 dataIndex 处设置记录的值:
record.set(dataIndex, "myNewValue")
如果您必须始终使用例如组合框的第三个值,无论组合框内有什么,您都必须获取如下值:
var combobox = column.getEditor(),
comboStore = combobox.getStore(),
comboRecord = comboStore.getAt(2), // zero-based index
valueField = combobox.valueField,
value = comboRecord.get(valueField);
关于javascript - 如何访问 EXT JS 网格单元中存在的控件,如复选框、组合框、文本框等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38939686/