EXT2.0学习一: 让Ext.form.ComboBox通过Dwr获取数据

本文介绍如何使用 Ext.form.Combobox 控件,并通过 DWR 作为远程数据源来填充下拉列表。此外,还展示了如何创建本地数据源并应用于 Combobox 中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Ext2.0:  Ext.form.Combobox使用Dwr作为远程数据源:
 
一、定义dataSource
 
  var roleComboStore = new Ext.data.Store({
         proxy: new Ext.data.DWRProxy( UserService.getUsableRole , true),
         reader:new Ext.data.ListRangeReader({
              totalProperty: 'totalSize',
              id: 'id'
          }, Ext.data.Record.create([
                    {name: 'retrunValue',mapping:'userId', type:'string'},
                    {name: 'displayText',mapping:'username',type:'string'}
                   ])
           )
    }) ;
  其中mapping对应的userId和username是java对象中的字段名,
  而name对应的则为Ext.form.ComboBox中对应的valueField和displayField
 
二、获取Combobox
var r_roleId   = formx.getCombo( roleComboStore , 'roleId','<b>角   色</b>',150,'请选择角色',false,false) ;
为了偷懒,将new Ext.form.ComboBox放到一个js函数里面了。不要的属性的全干掉了
function FormX(){
}
 
FormX.prototype = {
   
 getYesNoStore : function(){
     var store = new Ext.data.SimpleStore({
          fields: ["retrunValue", "displayText"],
          data: [[1,'是'],[0,'否']]
     }) ;
     return store ;
 },
 
 getValidStore : function(){
     var store = new Ext.data.SimpleStore({
          fields: ["retrunValue", "displayText"],
          data: [[1,'有效'],[0,'无效']]
     }) ;
     return store ;
 },
 
 getSexStore : function(){
     var store = new Ext.data.SimpleStore({
          fields: ["retrunValue", "displayText"],
          data: [[1,'男'],[2,'女']]
     }) ;
     return store ;
 },
 
 
 
 getCombo : function(store,name,filedLabel,width,emptyText,allowBlank,editable){
    var combo = new Ext.form.ComboBox({
   xtype:'combo',
   store: store ,
      valueField :"retrunValue",
      displayField: "displayText",
      mode: 'local',
      forceSelection: true,
      blankText:emptyText,
      emptyText:emptyText,
      hiddenName:name,
      editable: editable,
      triggerAction: 'all',
   allowBlank:allowBlank,
   fieldLabel: filedLabel ,
   name:name,
      width:width
  }) ;
  return combo ;
 }
}
 
三、定义form
var UserRoleForm = new Ext.form.FormPanel({
        el:"add-user-role-panel",defaultType: 'textfield',labelAlign: 'right',
     title: '11',labelWidth:50,frame: true,anchor: '100%',height:150,
        items: [
            r_userId,
            r_roleId
        ]
 });
没有将button放到form里面
四、定义窗体
      var add_user_role_win =  new Ext.Window({
        el:'add-user-role-win',
        layout:'fit',
        width:300,
        frame:true,
        height:150,
       
        closeAction:'hide',
        plain: true,
       
        items: UserRoleForm ,//tree,//
 
        buttons: [
        {
            text:'保存',
            disabled:false,
            handler: saveUserRole
        },{
            text: '关闭',
            handler: function(){
                add_user_role_win.hide();
            }
        }]
    });
 
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值