• ext_EditorGridPanel (8)


    EditorGridPanel

    ExtJS 中的可编辑表格由类Ext.grid.EditorGridPanel 表示,xtype 为editorgrid,和gridPanel的区别就是,这个表格中的内容是可编辑的

    Ext.onReady(function(){
    	var data=[
    		{id:1,name:'小王',email:'xiaowang@easyjf.com',sex:'男',bornDate:'1991-4-4'},
    		{id:1,name:'小李',email:'xiaoli@easyjf.com',sex:'男',bornDate:'1992-5-6'},
    		{id:1,name:'小兰',email:'xiaoxiao@easyjf.com',sex:'女',bornDate:'1993-3-7'}
    	];
    	var store=new Ext.data.JsonStore({
    		data:data,
    		fields:["id","name","sex","email",{name:"bornDate",type:"date",dateFormat:"Y-n-j"}]
    	});
    	var colM=new Ext.grid.ColumnModel([
    		{header:"姓名",dataIndex:"name",sortable:true,editor:new Ext.form.TextField()},
    		{header:"性别",dataIndex:"sex"},
    		{header:"出生日期",dataIndex:"bornDate",120,renderer:Ext.util.Format.dateRenderer('Y年m月d日')},
    		{header:"电子邮件",dataIndex:"email",sortable:true,editor:new Ext.form.TextField()}
    	]);
    	var grid = new Ext.grid.EditorGridPanel({
    		renderTo:"hello",
    		title:"学生基本信息管理",
    		height:200,
    		600,
    		cm:colM,
    		store:store,
    		autoExpandColumn:3
    	});
    });

    为了能编辑“性别”及“出生日期”列,同样只需要在定义该列的时候指定editor 即可。由于出生日期是日期类型,因此我们可以使用日期编辑器来编辑,“性别”一列的数据不应该让

    用户直接输入,而应该是通过下拉框进行选择。日期编辑器可以直接使用Ext.form.DateField组件,下拉选择框编辑器可以使用Ext.form.ComboBox 组件,下面是实现对性别及

    出生日期等列信息编辑的代码:

    Ext.onReady(function(){
    	var data=[
    		{id:1,name:'小王',email:'xiaowang@easyjf.com',sex:'男',bornDate:'1991-4-4'},
    		{id:1,name:'小李',email:'xiaoli@easyjf.com',sex:'男',bornDate:'1992-5-6'},
    		{id:1,name:'小兰',email:'xiaoxiao@easyjf.com',sex:'女',bornDate:'1993-3-7'}
    	];
    	var store=new Ext.data.JsonStore({
    		data:data,
    		fields:["id","name","sex","email",{name:"bornDate",type:"date",dateFormat:"Y-n-j"}]
    	});
    	var colM=new Ext.grid.ColumnModel([
    		{header:"姓名",dataIndex:"name",sortable:true,editor:new Ext.form.TextField()},
    		{header:"性别",dataIndex:"sex",
    			editor:new Ext.form.ComboBox({transform:"sexList",triggerAction: 'all',lazyRender:true})},
    		{header:"出生日期",dataIndex:"bornDate",120,
    			renderer:Ext.util.Format.dateRenderer('Y年m月d日'),
    			editor:new Ext.form.DateField({format:'Y年m月d日'})},
    		{header:"电子邮件",dataIndex:"email",sortable:true,editor:new Ext.form.TextField()}
    	]);
    	var grid = new Ext.grid.EditorGridPanel({
    		renderTo:"hello",
    		title:"学生基本信息管理",
    		height:200,
    		600,
    		cm:colM,
    		store:store,
    		autoExpandColumn:3,
    		clicksToEdit:1
    	});	
    });

    注意在定义EditorGridPanel 的时候,我们增加了一个属性“clicksToEdit:1”,表示点击一次单元格即触发编辑,因为默认情况下该值为2,需要双击单元格才能编辑。为了给
    ComboBox 中填充数据,我们使用设置了该组件的transform 配置属性值为sexList,sexList是一个传统的<select>框,我们需要在html 页面中直接定义,代码如下:

     <select id="sexList" name="sexList">
    <option>男</option>
    <option>女</option>
    </select>


    ComboBox的其他重要参数

    1.valueField:"valuefield"//value值字段
    2.displayField:"field" //显示文本字段
    3.editable:false//false则不可编辑,默认为true
    4.triggerAction:"all"//请设置为"all",否则默认为"query"的情况下,你选择某个值后,再此下拉时,只出现匹配选项,如果设为"all"的话,每次下拉均显示全部选项
    5.hiddenName:string //真正提交时此combo的name,请一定要注意
    6.typeAhead:true,//延时查询,与下面的参数配合
    7.typeAheadDelay:3000,//默认250


























  • 相关阅读:
    Maven private reprository 更新
    Spark运行模式:cluster与client
    Spark脚本调用
    Java中hashCode与equal方法详解
    String值传递剖析
    Comparator 与 Comparable
    深入理解Java的接口和抽象类
    HitHub使用
    二叉树的递归与非递归遍历
    P1137 旅行计划
  • 原文地址:https://www.cnblogs.com/suncoolcat/p/3395245.html
Copyright © 2020-2023  润新知