使用 Extjs 3 进行数据查看
我创建一个面板,在图像的左侧缩略图上显示,当我单击图像时,它会显示在右侧面板上。 它可以工作,但我希望当我打开此页面并且无需单击任何拇指时,它会在右侧面板上显示默认图像(此值包含默认图像 D.data.defaultimage 的链接)
这是我此面板的代码:
var Pstore = new Ext.data.JsonStore({
proxy: new Ext.data.HttpProxy({
url: 'page.php?cmd=Affich',
method: 'POST'
}),
root: 'images',
fields: [ 'name', 'url', 'thumb_url' ]
});
Pstore.load();
var tpl = new Ext.XTemplate(
'<tpl for=".">',
'<div class="thumb-wrap" id="{name}">',
'<center><img src="{thumb_url}" title="{name}"></center>',
'<span>{name}</span></div>',
'</tpl>'
);
tplDetail = new Ext.XTemplate(
'<div class="details">',
'<tpl for=".">',
'<center><img src="{url}"></center>',
'</tpl>',
'</div>'
);
datav = new Ext.DataView({
autoScroll : true,
store : Pstore,
tpl : tpl,
autoHeight : false,
multiSelect : true,
overClass : 'x-view-over',
itemSelector: 'div.thumb-wrap',
emptyText : 'No images',
listeners: {
click: {
fn: function() {
selNode = datav.getSelectedRecords();
tplDetail.overwrite(panelPreview.body, selNode[0].data);
panelPreview.body.fadeIn('l', {duration:0.5});
}
}
}
})
var panelLeft = new Ext.Panel({
id : 'images-view',
title : 'Pages',
autoScroll : true,
region : 'west',
frame : true,
width : 180,
layout : 'fit',
items : datav
});
panelPreview = new Ext.Panel({
title : 'Aperçu:',
region : 'center',
autoScroll : true,
frame : true,
layout : 'fit',
id : 'panelDetail',
tpl : tplDetail
});
Affich = new Ext.FormPanel({
frame : true,
layout : 'border',
bodyStyle : 'padding:5px',
renderTo : 'right-bottom',
items : [panelLeft, panelPreview]
});
谢谢你帮我
I create a panel that show me on the left thumbnails of images and when I click on an image it shows on the right panel.
It works but i want when i open this page and without clicking on any thumb, it shows me on the right panel a defaut image (this value contain the link of the default image D.data.defaultimage)
This is my code for this panel:
var Pstore = new Ext.data.JsonStore({
proxy: new Ext.data.HttpProxy({
url: 'page.php?cmd=Affich',
method: 'POST'
}),
root: 'images',
fields: [ 'name', 'url', 'thumb_url' ]
});
Pstore.load();
var tpl = new Ext.XTemplate(
'<tpl for=".">',
'<div class="thumb-wrap" id="{name}">',
'<center><img src="{thumb_url}" title="{name}"></center>',
'<span>{name}</span></div>',
'</tpl>'
);
tplDetail = new Ext.XTemplate(
'<div class="details">',
'<tpl for=".">',
'<center><img src="{url}"></center>',
'</tpl>',
'</div>'
);
datav = new Ext.DataView({
autoScroll : true,
store : Pstore,
tpl : tpl,
autoHeight : false,
multiSelect : true,
overClass : 'x-view-over',
itemSelector: 'div.thumb-wrap',
emptyText : 'No images',
listeners: {
click: {
fn: function() {
selNode = datav.getSelectedRecords();
tplDetail.overwrite(panelPreview.body, selNode[0].data);
panelPreview.body.fadeIn('l', {duration:0.5});
}
}
}
})
var panelLeft = new Ext.Panel({
id : 'images-view',
title : 'Pages',
autoScroll : true,
region : 'west',
frame : true,
width : 180,
layout : 'fit',
items : datav
});
panelPreview = new Ext.Panel({
title : 'Aperçu:',
region : 'center',
autoScroll : true,
frame : true,
layout : 'fit',
id : 'panelDetail',
tpl : tplDetail
});
Affich = new Ext.FormPanel({
frame : true,
layout : 'border',
bodyStyle : 'padding:5px',
renderTo : 'right-bottom',
items : [panelLeft, panelPreview]
});
Thanks for helping me
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
只是一些快速的(未经测试的)想法 - 您是否尝试过让 panelPreview 成为 DataView?然后您可以将其
emptyText
设置为您想要的值。或者,Panel 有一个您可以应用的data
配置,根据文档,该配置是要加载到模板中的初始数据集。Just a couple quick (untested) thoughts - have you tried making your panelPreview a DataView? Then you can set its
emptyText
to the values you want. Alternatively, Panel has adata
config you can apply, which according to the docs is the initial set of data to load into the template.