ExtJS常用方法
定时任务
updateTask = {
run : function() {
updateUserList();
},
interval : 2000 // 2 second
}
Ext.TaskManager.start(updateTask);
store 通过 proxy 代理 load 追加数据方式
通过 load 函数的参数控制。如果想实现表格中的最大数据量,可以定时追加数据,当达到最大值时,移除比较旧的数据就行啦
options定义为
{
...
add :Boolean 追加还是更新
...
}
设置DOM元素的显示和隐藏
var elemUncompleted = Ext.get('uncompleted');
elemUncompleted.setDisplayed(true);
注意多次设定同一个元素时,需要用 Ext.get 而不是 Ext.fly, 用后种方法的话,会在第二次设置元素时出现问题。 还可以尝试 elemUncompleted.setStyle('display', 'none'); 等等
趋势图的步长问题
当设置时间范围为 (4.11-4.21),步长为2天时,不会出现NaN的情况, 但只出现起点和结束点的时间说明,这个步长到底是代表什么意思呢?最终解决办法,设置 step 的值为 false 即可
设定Ajax请求为同步方式
设定ExtJS 的Ajax请求为同步方式,即只有当前一个请求数据返回之后才执行下一个请求
Ext.Ajax.request({
url : 'getNameListTransient.action',
async: false,
...
)};
使用DateTimeFieldBetween控件中遇到的一些问题
因为参照网页中的示例,下载了几个文件,按照说明将每个文件都放好。结果参考的网页示例是有问题的。
正确的方法应该是: 将一个 DateTime.js 文件 ext-4.0.7-gpl/src/form/field/ 文件夹下, 将另外一个 DateTime.js 放在 ext-4.0.7-gpl/src/picker/ 目录下
同时,放在 resource/js 目录下的 dateTimeField.js 是同一个文件,不需要的。
最后是一位同事找到了这个问题。交流始终有益的。
ext中分页时,PagingToolbar中显示‘page()of’ 怎样变成中文?
me.bbar = Ext.create('Ext.PagingToolbar', {
store: me.store,
displayInfo: true,
beforePageText: "第",
afterPageText: "页,共 {0} 页",
displayMsg: '第{0} - {1}条 共{2}条',
emptyMsg: "没有符合条件的记录"
});
表格proxy的使用
proxy: {
// type: 'ajax',
// url: 'resources/json/HistoryGridData.json',
type: 'jsonp',
url: 'http://127.0.0.1:9090/getHistoryData.action',
extraParams: {
dataIds: dataIds,
startTime: 1363403340000,
endTime: 1363403465000
},
reader: {
type: "json",
root: 'baseDataList',
totalProperty: 'totalCount'
}
}
画图初始化时,确定线的条数
//config中
colors: [ "#FF0000", "#115fa6","#a61120", "#ff8809", "#ffd13e", "#a61187", "#24ad9a", "#7c7474", "#a66111"],
// initComponent: function() 中
me.series = [];
// 添加线条
for (var i = 0; i < me.maxFieldY; i++) {
var yField = 'y';
yField = yField + i;
me.series.push({
type: 'line',
xField: 'x',
yField: yField,
showMarkers: false,
axis: ['left', 'top'],
style: {
stroke: me.colors[i],
'stroke-width': 0
},
tips: {
trackMouse: true,
width: 100,
height: 28,
layout: 'fit',
renderer: function(storeItem, item) {
this.setTitle('(' + storeItem.get('x') + ', ' + storeItem.get('y0') + ')');
}
}
});
}
在画图数据源变化时,不更新到图形中
me.store.suspendEvents: 传入参数false,丢弃了所有的事件。暂停该对象对所有的事件处理
如果需要恢复时,调用 me.store.resumeEvents();