Easyui-datagrid的column的type是combobox时,对valueField,textField,及formatter函数return值的理解

详见下图:

1.该column默认显示的是value值,如果有return函数,则显示return值。

2.并且valueField必须是唯一,否则textField不能显示。

3.同理,datagrid每个column的field值必须是唯一,否则其他column显示不出来。

4.使用combobox时的注意点:

   4.1 combobox的单击事件:


     4.2  下拉选option的注意点:


### 解决EasyUI DataGrid行内编辑ComboBox数据无法回显的问题 当遇到EasyUI DataGrid中的组合框(ComboBox)在行编辑模式下无法正确显示已选的情况,可以采取以下方法来解决问题。 对于DataGrid组件,在获取编辑器对象之后,应当确保所使用的`combobox`插件被正确初始化并加载了必要的选项列表。如果这些选项是在页面初次渲染后动态添加到DOM结构中的,则可能需要手动触发一次刷新操作以使新加入的内容生效[^2]。 另外一种常见的情形是由于绑定事件顺序不当造成的——即试图读取或设置控件状态之前该控件尚未完成其自身的初始化过程。针对这种情况,可以在确认目标元素确实已经就绪后再执行相应的逻辑处理;或者通过监听特定刻发生的回调函数来进行后续动作[^1]。 下面是一个具体的实现方案: ```javascript // 假设当前正在遍历某一行记录,并尝试为其指定默认 var editor = $('#aimtab').datagrid('getEditor', { index: i, field: 'khmx_df' }); if (editor) { var combo = $(editor.target).combobox({ valueField: 'id', textField: 'text' }); // 设置初始前先清空现有项 combo.combobox('clear'); // 加载远程数据源或其他方式填充combo box $.getJSON('/api/getOptions', function(data){ combo.combobox('loadData', data); // 确认数据加载完毕再设定value属性 setTimeout(function(){ combo.combobox('setValue', someValue); }, 0); // 使用setTimeout延迟执行可有效避免同步问题 }); } ``` 上述代码片段展示了如何安全地更新ComboBox内的项目以及应用预定义的选择。这里的关键在于利用异步请求完成后才去更改控件的状态,从而保证了界面能够及反映出最新的变化。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值