ComboBox的提交值有关问题
来源:互联网 发布:中山大学网络缴费平台 编辑:程序博客网 时间:2024/05/16 17:32
问题描述:
我的ComboBox的显示值和提交值分别对应着两个字段,在编辑时,如果点击右边的下拉箭头,则提交值正确,但是如果不选择,直接提价的话,提交值仍然是显示的值,搜了很久,都没有找到比较理想的解决方案,请大侠参谋参谋,看看有什么更好的解决方法?
我的代码如下,我觉着代码不会有什么问题,只是数据是否加载的问题,如果点击右侧的下拉箭头,则数据加载,如果没有点击,则不加载。这样,我理想的解决方法是,在FormPanel的数据加载完之后,能够设置combobox对应的实际值,oracle存储过程,但是,试了很久,也没有找到对应的事件。
------------------------------------------------------------------------------------------------------------------
问题补充:
是这样的,在点击“编辑”按钮,进入编辑状态,我通过一个请求,给FormPanel加载了数据,加载的数据为ServicePoint.Name,也就是说显示值。而你提供的render事件是在combobox显示时触发的,解决不了问题。如果formpanel在数据加载完后会出发某个事件应当也可以解决问题,但是一直没有找到这个事件。
------------------------------------------------------------------------------------------------------------------
问题补充:
问题补充:
是这样的,在点击“编辑”按钮,进入编辑状态,我通过一个请求,给FormPanel加载了数据,加载的数据为ServicePoint.Name,也就是说显示值。而你提供的render事件是在combobox显示时触发的,解决不了问题。如果formpanel在数据加载完后会出发某个事件应当也可以解决问题,但是一直没有找到这个事件。
------------------------------------------------------------------------------------------------------------------
问题补充:
没明白你啥意思?
------------------------------------------------------------------------------------------------------------------
问题补充:
这个value值可以动态绑定吗?
------------------------------------------------------------------------------------------------------------------
问题补充:
在什么时候setValue,我需要的结果是在数据加载完后setValue,可以我没找到类似的事件;我现在想到的方法是覆盖setValue方法,这样可能解决。但是也还有时间去试一试。我现在用的方法是比较老土的方法,在提交之前判断,然后setValue。不知有无更好的建议?
------解决方案--------------------------------------------------------
如果没选中,应该显示的是'请选择',这会提交过去吗?最好是加上默认值,在加载事件加上值,这样总会有值了
listeners : {'beforerender' : function(t) {this.value = 1;}}
------解决方案--------------------------------------------------------
这属于你自己没把加载值name : 'servicePoint',
valueField : 'ServicePointID',
displayField : 'Number', 没对应起来,要么编辑load后设置值
------解决方案--------------------------------------------------------
forceSelection : true,
放到Combobox的属性里,不要放到store的属性里, Store是没有这个属性的
------解决方案--------------------------------------------------------
直接在里面加个属性:value: ''
------解决方案--------------------------------------------------------
setValue()
------解决方案--------------------------------------------------------
可参考:
ComboBox有关问题, http://www.myexception.cn/vb-dotnet/54372.html
相关的主题文章:
我的ComboBox的显示值和提交值分别对应着两个字段,在编辑时,如果点击右边的下拉箭头,则提交值正确,但是如果不选择,直接提价的话,提交值仍然是显示的值,搜了很久,都没有找到比较理想的解决方案,请大侠参谋参谋,看看有什么更好的解决方法?
我的代码如下,我觉着代码不会有什么问题,只是数据是否加载的问题,如果点击右侧的下拉箭头,则数据加载,如果没有点击,则不加载。这样,我理想的解决方法是,在FormPanel的数据加载完之后,能够设置combobox对应的实际值,oracle存储过程,但是,试了很久,也没有找到对应的事件。
/** * 商户下拉框 * * @class ServicePointCombo * @extends Ext.form.ComboBox */ServicePointCombo = Ext.extend(Ext.form.ComboBox, {name : 'servicePoint',hiddenName : 'ServicePointID',readOnly : false,error C2065,valueField : 'ServicePointID',displayField : 'Number',typeAhead : true,mode : 'remote',triggerAction : 'query',lazyInit : false,emptyText : '请选择',selectOnFocus : true,allowBlank : false,typeAheadDelay : 10000,isLoaded : false,store : new Ext.data.JsonStore({url : '/Terminal/ServicePointList',root : 'result',totalProperty : 'total',forceSelection : true,fields : [{name : 'ServicePointID',type : 'string'}, {name : 'Name',type : 'string'}, {name : 'Number',type : 'string'}],listeners : {load : function() {isLoaded = true;}}}),minListWidth : 260,pageSize : 10,tpl : new Ext.XTemplate('<div class="x-grid3"><div><table>','<thead class="x-grid3-header"><tr class="x-grid3-hd-row">','<td class="x-grid3-hd x-grid3-cell x-grid3-hd-inner" style="width: 80px;">商户号</td>','<td class="x-grid3-hd x-grid3-cell" style="width: 200px;">名称</td>','</tr></thead><tbody>','<tpl for=".">','<tr class="x-combo-list-item">','<td class="x-grid3-col x-grid3-cell"><div class="x-grid3-cell-inner" style="font-size:12px;">{Number}</div></td>','<td class="x-grid3-col x-grid3-cell"><div class="x-grid3-cell-inner" style="font-size:12px;">{Name}</div></td>','</tr>', '</tpl>', '</tbody></table></div></div>')});// 注册Ext.reg('servicepointcombo', ServicePointCombo);
------------------------------------------------------------------------------------------------------------------
问题补充:
是这样的,在点击“编辑”按钮,进入编辑状态,我通过一个请求,给FormPanel加载了数据,加载的数据为ServicePoint.Name,也就是说显示值。而你提供的render事件是在combobox显示时触发的,解决不了问题。如果formpanel在数据加载完后会出发某个事件应当也可以解决问题,但是一直没有找到这个事件。
------------------------------------------------------------------------------------------------------------------
问题补充:
xxq 写道
如果没选中,应该显示的是'请选择',这会提交过去吗?最好是加上默认值,在加载事件加上值,这样总会有值了
listeners : {'beforerender' : function(t) {this.value = 1;}}
listeners : {'beforerender' : function(t) {this.value = 1;}}
问题补充:
是这样的,在点击“编辑”按钮,进入编辑状态,我通过一个请求,给FormPanel加载了数据,加载的数据为ServicePoint.Name,也就是说显示值。而你提供的render事件是在combobox显示时触发的,解决不了问题。如果formpanel在数据加载完后会出发某个事件应当也可以解决问题,但是一直没有找到这个事件。
------------------------------------------------------------------------------------------------------------------
问题补充:
xxq 写道
这属于你自己没把加载值name : 'servicePoint',
valueField : 'ServicePointID',
displayField : 'Number', 没对应起来,要么编辑load后设置值
valueField : 'ServicePointID',
displayField : 'Number', 没对应起来,要么编辑load后设置值
没明白你啥意思?
------------------------------------------------------------------------------------------------------------------
问题补充:
whacker 写道
直接在里面加个属性:value: ''
这个value值可以动态绑定吗?
------------------------------------------------------------------------------------------------------------------
问题补充:
whacker 写道
setValue()
在什么时候setValue,我需要的结果是在数据加载完后setValue,可以我没找到类似的事件;我现在想到的方法是覆盖setValue方法,这样可能解决。但是也还有时间去试一试。我现在用的方法是比较老土的方法,在提交之前判断,然后setValue。不知有无更好的建议?
------解决方案--------------------------------------------------------
如果没选中,应该显示的是'请选择',这会提交过去吗?最好是加上默认值,在加载事件加上值,这样总会有值了
listeners : {'beforerender' : function(t) {this.value = 1;}}
------解决方案--------------------------------------------------------
这属于你自己没把加载值name : 'servicePoint',
valueField : 'ServicePointID',
displayField : 'Number', 没对应起来,要么编辑load后设置值
------解决方案--------------------------------------------------------
forceSelection : true,
放到Combobox的属性里,不要放到store的属性里, Store是没有这个属性的
------解决方案--------------------------------------------------------
直接在里面加个属性:value: ''
------解决方案--------------------------------------------------------
setValue()
------解决方案--------------------------------------------------------
可参考:
ComboBox有关问题, http://www.myexception.cn/vb-dotnet/54372.html
相关的主题文章:
- Java Spring 线程配置,该如何处理
- 一个单例在集群下会是什么样子解决方法
- 请教一下 不是局域网能不能共享打印机
- ComboBox的提交值有关问题
- extjs表单提交combobox提交值问题
- get提交时中文传值乱码的有关问题
- Extjs 常见问题:如何提交combobox的值
- Extjs 解决Combobox重复提交baseParams的问题
- ExtJS同一个form中提交combobox和文件类型的问题
- 提交数据有关问题
- 解决ExtJS Combobox在form提交显示值问题
- ComboBox的取值问题
- combobox 的diaable与提交
- Ext.form.ComboBox提交始终获得displayField的值-解决
- ExtJS -- form提交之取ComboBox的值
- ext form提交有关问题
- jsp、html有关base的提交路径问题
- 有关Java Web 中CheckBox提交的问题
- datagrid combobox的显示值的问题
- Winform里有关Combobox的一些操作
- extjs的combobox传值问题
- Android语音便签快速调用-内置录音程序
- java 多线程查找文件夹下所有文件中指定的字符串
- $.fn.extend父页面调用有关问题
- grep命令详解
- ExtJs4 笔记(4) Ext.XTemplate 模板
- ComboBox的提交值有关问题
- Android JNI 类型转换
- java 加和加等于有什么区别、该如何解决
- QT学习 渐变填充
- VC6和VS2005(及2010)的一些区别总结
- 个人命名规范
- linux系统ioctl使用示例
- QoS和QoE的关系
- Python Eric4安装配置