新手求教: ExtJs gridPanel 在绑定日期类型的时候,怎么转换为自己想要的格式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了新手求教: ExtJs gridPanel 在绑定日期类型的时候,怎么转换为自己想要的格式相关的知识,希望对你有一定的参考价值。
比如:2012-5-11 8:00:00-->8:00麻烦详细点,谢谢!
参考技术A 在需要进行时间格式化的列上定义一种显示样式即可:例如:
var colM=new Ext.grid.ColumnModel([
header:"日期",
dataIndex:"date",
renderer:Ext.util.Format.dateRenderer('Y-m-d'), //定义格式化样式
]);追问
不行,还有其他的办法么?
麻烦了。。
fields里面的列你格式化了没有:
如下:
this.store = new Ext.data.JsonStore(
url : '#',
root : 'root',
totalProperty : 'totalCount',
fields : [
name : 'date',
format : 'Y-m-d',
type : 'date'
]
);
//数据源
fields : [name:"wksetid",name:"wksetname"
name:"sbsj1",format : 'Y-m-d',type : 'date'
//列集合
columns: [ header:"早班上班",tooltip:"早班上班",renderer: Ext.util.Format.dateRenderer('Y-m-d'),dataIndex:"sbsj1",width:"12.1%",
]
)还是不行,不知道怎么的
如果你要显示的是小时和分钟,可以将格式化修改成‘ H:i’。如果还是不行,你可以在后台的SQL语句中也进行格式化一下。
另外,从你的截图来看,你的数据都有些错位了,你也可以检查一下是不是数据错位导致的,再检查检查dataIndex是不是有些错,比如大小写之类的。
ExtJs Gridpanel 存储刷新
【中文标题】ExtJs Gridpanel 存储刷新【英文标题】:ExtJs Gridpanel store refresh 【发布时间】:2011-04-28 08:01:30 【问题描述】:我正在从数据库绑定 ExtJs Gridpanel,并在我的网格面板下方添加“删除”按钮。通过使用删除按钮处理程序,我删除了网格面板上的选定记录。但是,删除后,网格不刷新(从数据库中删除,但由于不刷新而显示在网格上)。
删除处理程序后如何刷新网格?
【问题讨论】:
【参考方案1】:尝试刷新视图:
Ext.getCmp('yourGridId').getView().refresh();
【讨论】:
这似乎不起作用。我 80% 的行都消失了【参考方案2】:重新加载 ds 以刷新网格。
ds.reload();
【讨论】:
这行得通! getView().refresh() 好像没有效果。 刷新视图仍然适用于本地数据。如果您只删除服务器上的记录而不是本地记录,刷新将无济于事。【参考方案3】:grid.store = store;
store.load( params: start: 0, limit: 20 );
grid.getView().refresh();
【讨论】:
你确定你应该在异步加载后立即调用 grid.view.refresh() 吗?【参考方案4】:我遇到了类似的问题。我需要做的就是在删除处理程序中输入store.load();
。无需随后键入grid.getView().refresh();
。
除此之外,您还可以在删除处理程序中键入store.remove(record)
; - 这可确保已删除的记录不再显示在网格上。
【讨论】:
【参考方案5】:试试这个grid.getView().refresh();
【讨论】:
他回答这个比接受的答案晚了 1 分钟,可能他们在同一时间打字,但他们的网速不同。【参考方案6】:使用 store.remove 比使用 model.destroy 更好。 该按钮的单击处理程序可能如下所示:
destroy: function(button)
var grid = button.up('grid');
var store = grid.getStore();
var selected = grid.getSelectionModel().getSelection();
if (selected && selected.length==1)
store.remove(selected);
【讨论】:
【参考方案7】:grid.getStore().reload(
callback: function()
grid.getView().refresh();
);
【讨论】:
【参考方案8】:大傻与MMT解决方案的结合:
Ext.getCmp('yourGridId').getView().ds.reload();
【讨论】:
【参考方案9】:3.4 中的另一种方法(不知道这是否是正确的 Ext):您可以拥有这样的删除处理程序,假设每一行都有一个“删除”按钮。
handler: function(grid, rowIndex, colIndex)
var rec = grid.getStore().getAt(rowIndex);
var id = rec.get('id');
// some DELETE/GET ajax callback here...
// pass in 'id' var or some key
// inside success
grid.getStore().removeAt(rowIndex);
【讨论】:
【参考方案10】:刷新网格存储
Ext.getCmp('GridId').getStore().reload();
这将重新加载网格存储并获取新数据。
【讨论】:
以上是关于新手求教: ExtJs gridPanel 在绑定日期类型的时候,怎么转换为自己想要的格式的主要内容,如果未能解决你的问题,请参考以下文章
前台extjs,后台java,导出 gridpanel的数据到execl中,如何做,求前台和后台action代码 ,
在 Extjs 中删除 GridPanel 的 headertoolbar