导航:首页 > 编程语言 > extjs60

extjs60

发布时间:2023-08-07 10:55:56

『壹』 extjs grid 列头分行



/**

* 表格综合示例

*

* @author XiongChun

* @since 2010-10-20

*/

Ext.onReady(function() {


group1 = [{}, {

header : '分组1-1a',

colspan : 4,

align : 'center'

}, {}, {

header : '分组1-3',

colspan : 5,

align : 'center'

}];


var group2 = [{}, {

header : '分组2-1',

colspan : 2,

align : 'center'

}, {

header : '分组2-2',

colspan : 2,

align : 'center'

}, {

header : '单位',

rowmerge:true,

domid:'group_dw',

align : 'center'

}, {

header : '分组2-3',

colspan : 2,

align : 'center'

}, {

header : '分组2-4',

colspan : 3,

align : 'center'

}];

/*

var group = new Ext.ux.grid.ColumnHeaderGroup({

rows : [group1, group2]

});

*/


var group = new Ext.ux.plugins.GroupHeaderGrid({

rows : [group1, group2]

});


// 定义自动当前页行号

var rownum = new Ext.grid.RowNumberer({

header : 'NO',

width : 28

});

// 复选框

var sm = new Ext.grid.CheckboxSelectionModel();


// 定义列模型

var cm = new Ext.grid.ColumnModel([rownum, {

header : '项目ID', // 列标题

dataIndex : 'xmid', // 数据索引:和Store模型对应

sortable : true

// 是否可排序

}, {

header : '项目名称',

dataIndex : 'xmmc',

sortable : true,

width : 200

}, {

header : '项目热键',

dataIndex : 'xmrj'

}, {

header : '规格',

dataIndex : 'gg'

}, {

dataIndex : 'dw',

align:'center',

fixed:true,

width : 60

}, {

header : '启用状态',

dataIndex : 'qybz',

// 演示render的用法(代码转换,该render由<G4Studio:ext.codeRender/>标签生成)

renderer : QYBZRender,

width : 60

}, {

header : '剂型',

dataIndex : 'jx',

width : 60

}, {

header : '产地',

dataIndex : 'cd',

width : 200

}, {

header : '医院编码',

dataIndex : 'yybm'

}, {

header : '更改时间',

dataIndex : 'ggsj'

}]);


/**

* 数据存储

*/

var store = new Ext.data.Store({

// 获取数据的方式

proxy : new Ext.data.HttpProxy({

url : 'gridDemo.do?reqCode=querySfxmDatas'

}),

// 数据读取器

reader : new Ext.data.JsonReader({

totalProperty : 'TOTALCOUNT', // 记录总数

root : 'ROOT' // Json中的列表数据根节点

}, [{

name : 'xmid' // Json中的属性Key值

}, {

name : 'sfdlbm'

}, {

name : 'xmmc'

}, {

name : 'xmrj'

}, {

name : 'gg'

}, {

name : 'dw'

}, {

name : 'qybz'

}, {

name : 'jx'

}, {

name : 'cd'

}, {

name : 'yybm'

}, {

name : 'ggsj'

}])

});


/**

* 翻页排序时候的参数传递

*/

// 翻页排序时带上查询条件

store.on('beforeload', function() {

this.baseParams = {

xmmc : Ext.getCmp('xmmc').getValue()

};

});

// 每页显示条数下拉选择框

var pagesize_combo = new Ext.form.ComboBox({

name : 'pagesize',

triggerAction : 'all',

mode : 'local',

store : new Ext.data.ArrayStore({

fields : ['value', 'text'],

data : [[10, '10条/页'], [20, '20条/页'],

[50, '50条/页'], [100, '100条/页'],

[250, '250条/页'], [500, '500条/页']]

}),

valueField : 'value',

displayField : 'text',

value : '20',

editable : false,

width : 85

});

var number = parseInt(pagesize_combo.getValue());

// 改变每页显示条数reload数据

pagesize_combo.on("select", function(comboBox) {

bbar.pageSize = parseInt(comboBox.getValue());

number = parseInt(comboBox.getValue());

store.reload({

params : {

start : 0,

limit : bbar.pageSize

}

});

});


// 分页工具

var bbar = new Ext.PagingToolbar({

pageSize : number,

store : store,

displayInfo : true,

displayMsg : '显示{0}条到{1}条,共{2}条',

plugins : new Ext.ux.ProgressBarPager(), // 分页进度条

emptyMsg : "没有符合条件的记录",

items : ['-', '&nbsp;&nbsp;', pagesize_combo]

});


// 表格工具栏

var tbar = new Ext.Toolbar({

items : [{

xtype : 'textfield',

id : 'xmmc',

name : 'xmmc',

emptyText : '请输入项目名称',

width : 150,

enableKeyEvents : true,

// 响应回车键

listeners : {

specialkey : function(field, e) {

if (e.getKey() == Ext.EventObject.ENTER) {

queryCatalogItem();

}

}

}

}, {

text : '查询',

iconCls : 'page_findIcon',

handler : function() {

queryCatalogItem();

}

}, {

text : '刷新',

iconCls : 'page_refreshIcon',

handler : function() {

store.reload();

}

},'->' ,{

text : '重设列标题',

iconCls : 'acceptIcon',

handler : function() {

cm.setColumnHeader('2','开天辟地');

}

}, {

text : '重设分组列标题',

iconCls : 'acceptIcon',

handler : function() {

Ext.getDom('group_dw').innerHTML = '开天辟地';

}

}]

});


// 表格实例

var grid = new Ext.grid.GridPanel({

// 表格面板标题,默认为粗体,我不喜欢粗体,这里设置样式将其格式为正常字体

title : '<span class="commoncss">表格综合演示七(表头分组支持)</span>',

height : 500,

frame : true,

autoScroll : true,

region : 'center', // 和VIEWPORT布局模型对应,充当center区域布局

margins : '3 3 3 3',

store : store, // 数据存储

stripeRows : true, // 斑马线

cm : cm, // 列模型

tbar : tbar, // 表格工具栏

bbar : bbar,// 分页工具栏

plugins : group,

viewConfig : {

// 不产横向生滚动条, 各列自动扩展自动压缩, 适用于列数比较少的情况

// forceFit : true

},

loadMask : {

msg : '正在加载表格数据,请稍等...'

}

});


// 页面初始自动查询数据

// store.load({params : {start : 0,limit : bbar.pageSize}});


// 布局模型

var viewport = new Ext.Viewport({

layout : 'border',

items : [grid]

});


// 查询表格数据

function queryCatalogItem() {

store.load({

params : {

start : 0,

limit : bbar.pageSize,

xmmc : Ext.getCmp('xmmc').getValue()

}

});

}


});

『贰』 ExtJs中怎么上传文件

下面为大家介绍在ExtJs中上传文件的几种方法
第一种方法:传统的上传方式
在formpanal中增加一个fileUpload的属性
例子代码:
JScript 代码 复制
Ext.onReady(function(){
var form = new Ext.form.FormPanel({
renderTo:'file',
labelAlign: 'right',
title: '文件上传',
labelWidth: 60,
frame:true,
url: 服务器处理上传功能的url地址,//fileUploadServlet
width: 300,
height:200,
fileUpload: true,
items: [{
xtype: 'textfield',
fieldLabel: '文件名',
name: 'file',
inputType: 'file'//文件类型
}],
buttons: [{
text: '上传',
handler: function() {
form.getForm().submit({
success: function(form, response){
Ext.Msg.alert('信息', response.result.msg);
},
failure: function(){
Ext.Msg.alert('错误', '文件上传失败');
}
});
}
}]
});

});

第二种方法:借助Ext.ux.UploadDialog.Dialog的组件,在编码时需要导入两个文件
需要引入 Ext.ux.UploadDialog 样式文件 和 Ext.ux.UploadDialog.packed脚本文件。
例子代码
//在使用此方法进行文件上传时,其后台往页面的返回值类型是这样的:
//{'success':true,'message':'上传成功'}
//如果没有success:true,无论上传成功与否,显示的都是上传失败,其实这个和form.submit()的提交方式是一个道理。
var dialog = new Ext.ux.UploadDialog.Dialog({
autoCreate: true,
closable: true,
collapsible: false,
draggable: true,
minWidth: 400,
minHeight: 200,
width: 400,
height: 350,
permitted_extensions:['JPG','jpg','jpeg','JPEG','GIF','gif','xls','XLS'],
proxyDrag: true,
resizable: true,
constraintoviewport: true,
title: '文件上传',
url:用于处理上传文件功能的Url,
reset_on_hide: false,
allow_close_on_upload: true ,
upload_autostart: false
});
//定义上传文件的按钮
var btnShow = new Ext.Button({
text:'上传文件',
listeners:{
click:function(btnThis,eventobj){
dialog.show();
}
}
});

『叁』 Extjs时间控件

代码如下:

Extjs 时间选择控件

这是实现时间控件选择的方法

<script type="text/javascript">
Ext.onReady(function () {
var times = new Ext.form.TimeField({
increment: 10, //时间间隔
minValue: '08:00 AM', //最小显示的时间
renderTo: Ext.get('times'), //
autoShow: true,
format: 'H:i', //显示格式,H代表小时;i代表分钟;m代表秒
width: 60
}
});
});
</script>

下面是html的控件
<div id="times" style="margin-left:40px;"></div>

完整的页面如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<link href="http://blog.163.com/sam_0815/blog/Ext/resources/css/ext-all.css" rel="stylesheet" type="text/css" />
<script src="http://blog.163.com/sam_0815/blog/Ext/adapter/ext/ext-base.js" type="text/javascript"></script>
<script src="http://blog.163.com/sam_0815/blog/Ext/ext-all.js" type="text/javascript"></script>
<script type="text/javascript">
Ext.onReady(function () {
var times = new Ext.form.TimeField({
increment: 10,
minValue: '08:00 AM',
renderTo: Ext.get('times'),
autoShow: true,
format: 'H:i',
width: 60
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<div id="times" style="margin-left:40px;"></div>
</div>
</form>
</body>
</html>

运行结果:

『肆』 Extjs里面两个时间相减为NaN

var date1='2010-09-13 12:30:00';
var date2='2010-09-13 14:30:00';
var date = new Date();
date1 = Date.parseDate(date1,'Y-m-d h:i:s');
date2 = Date.parseDate(date2,'Y-m-d h:i:s');
alert(date1.getTime());
alert(date2.getTime());
alert(date2-date1);//算出的是毫秒数的差
alert((date2-date1)/1000/60/60);//除以1000毫秒,60秒,60分,剩下的就是小时

『伍』 想用Extjs做一个左右布局的格式

如果是form或者panel可使用column布局处理,
如果是整体页面的处理可使用panel的region:west和center布局处理。

『陆』 extjs的displayfield组件如何获取grid中的某一列的值

1.1:数据对应的列,加了一个点击事件,获取到该列的值,然后赋值
{
align: 'center',
text: 'A,
dataIndex: 'A',
width:60,
renderer : function(val, meta, record) {
val = "<a href='javascript:;' >"+val+"</a>";
meta.tdAttr = 'data-qtip="' + val + '"';
return '<div align="left">' + val + '</div>';
},
listeners:{
'click':function(){
var rows = grid.getSelectionModel().getSelection();
displayfield.setValue(rows[0].get('A'));//通过rows[0].get('字段名')来获取A字段的值,然后赋值给displayfield
}
}
2.如果有点击事件的话,你可以直接使用 var rows = grid.getSelectionModel().getSelection();获取store的数据模型(存放了所有的记录),rows[0]是指定行的记录(包括隐藏的字段),displayfield这个在grid外面创建好的,在grid可以引用到的话可以直接使用 displayfield.setValue(rows[0].get('A'));来赋值

3.

var display = Ext.create('Ext.form.field.Display',{
xtype: 'displayfield',
fieldLabel: 'Visitor',
name: 'visitor_score',
value: '11'
})
var grid = Ext.create('Ext.grid.Panel', {
store: store,
columns: [
{text : 'Company',
flex : 1,dataIndex: 'company',
renderer : function(val, meta, record) {
val = "<a href='javascript:;' >"+val+"</a>";
return val;
},
listeners:{
'click':function(){
var rows = grid.getSelectionModel().getSelection();
display.setValue(rows[0].get('name'))
}
}
} ], dockedItems: [{
xtype: 'toolbar',
dock: 'top',
items: [display]
}]
});
});

『柒』 extjs背景颜色的代码是多少

extjs grid设置某列背景颜色和字体颜色的方法,参考如下:
css代码:
.x-grid-back-red {
background: #FF0000;
}
js代码:
{
header : '分成类型',
dataIndex : 'divideType',
renderer : function(v,m){
m.css='x-grid-back-red';
return v;
},
width : 60
}

或者直接这样写也可以

{
header : '编号',
dataIndex : 'fcId',
css : 'background: #FF0000;',
width : 40
}

extjs grid设置某行字体颜色
css代码:

.x-grid-record-red table{
color: #FF0000;
}

js代码:
代码

viewConfig : {
forceFit : true,
getRowClass : function(record,rowIndex,rowParams,store){
//禁用数据显示红色
if(record.data.zt==0){
return 'x-grid-record-red';
}else{
return '';
}
}
},

『捌』 ExtJS 怎么让一个组件禁止获取焦点

按我当前的版本,设置文本框disabled时,默认应用样式类为x-item-disabled(ext-all.css中),如下:
.x-item-disabled {
cursor: default;
opacity: 0.6;
background-color:#fff;
-moz-opacity: .6;
filter: alpha(opacity=60);
}
所以,你版如果需权要在某个页面中将某些文本框设置disabled但不希望整个内容变灰
,则可将此段样式拷贝到那个页面里重新声明并将透明度调一下,如opacity: 1;-moz-opacity: 1;这样就ok了。p.s. 文本框设置disabled时是不会传值给后台的要注意!

『玖』 extjs获取当前时间并且怎么取7天前的时间

///获取当前日期(到秒)
var curDate = new Date()
//格式化;
var time=Ext.Date.format(curDate, 'Y-m-d');
///取7天前的时间
var now = new Date(new Date()-7*24*60*60*1000);
alert(now);

var today = new Date();
today.setDate(parseInt(today.getDate()) - 7);
console.log(today.toLocaleString());

阅读全文

与extjs60相关的资料

热点内容
python代码过长换行 浏览:697
欧冠直播哪个app画质最清楚 浏览:225
iphone6备份密码 浏览:365
微信打码赚钱安卓软件 浏览:608
苹果官换机买什么版本 浏览:979
visio数据模型怎么用 浏览:179
关于驾驶的app 浏览:92
多线程编程有什么特点 浏览:453
iso文件系统 浏览:116
苹果932拦截骚扰电话 浏览:765
盲盒开箱app有哪些 浏览:422
win10激活脚本之家 浏览:191
魔鬼作坊工具包 浏览:185
ae源文件下载 浏览:520
如何将照片内容转换成pdf文件 浏览:137
浙里办app如何更换手机号码 浏览:244
电子资料文件有哪些 浏览:241
猥琐猫表情教程 浏览:599
android音频文件格式 浏览:458
漫画脸app哪里可以下载 浏览:959

友情链接