需要是在treegrid树结构中, 每一行的某一列做成可编辑的下拉框, 选择了则直接更新该行数据的对应字段.
效果如:
这种就需要借助 formatter 来格式化这一列.
function myFormatter(value, row, index) {
if(row){
return '<input style="width:190px" class="easyui-combobox" '
+ 'name="testName" data-option="valueField:\'id\',textField:\'unitName\',url:\'test/getComboboxData.do\'"/>'
}
return '';
}
但是这样会发现无法让该列做成下拉框. 因为在 treegrid 和 datagrid中, 是不能在formatter中定义easyui组件的.需要在外面进行定义.
我们可以对 formatter的 <input>标签中增加一个样式 class. 然后获取该样式,在外面进行定义combobox
注意, 这个操作应该在 treegrid 加载完成后做,而不是在 $(function(){}) 页面加载完成后做. 故应在 treegrid 的 onLoadSuccess 事件中进行.
var treegridPa