Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ExtJS4-卡布局项_Extjs4 - Fatal编程技术网

ExtJS4-卡布局项

ExtJS4-卡布局项,extjs4,Extjs4,是否可以更改卡片布局中的项目?我想像分页文档一样使用这种布局。从下面的代码中,它确实显示了第1、2和3页。我试图测试的是,当我单击“选项”时,更改卡片布局中的项目 var cards = [{ id: 'card-0', html: 'Page 1', border: false }, { id: 'card-1', html: 'Page 2'

是否可以更改卡片布局中的项目?我想像分页文档一样使用这种布局。从下面的代码中,它确实显示了第1、2和3页。我试图测试的是,当我单击“选项”时,更改卡片布局中的项目

        var cards = [{
            id: 'card-0',
            html: 'Page 1',
            border: false
        }, {
            id: 'card-1',
            html: 'Page 2',
            border: false
        }, {
            id: 'card-2',
            html: 'Page 3',
            border: false
        }];

        var document = Ext.create('Ext.form.Panel', {
            id: 'testcard',
            padding: '0 0 5 5',
            title: 'test',
            layout: 'card',
            region: 'center',
            activeItem: 0, // index or id
            tbar: [{
                id: 'test',
                text: 'Options',
                handler: function (btn) {
                    cards = [{
                        id: 'card-1',
                        html: 'Page AAAAAAAAAAAA',
                        border: false
                    }, {
                        id: 'card-2',
                        html: 'Page BBBBBBBBBBBB',
                        border: false
                    }];

                    Ext.getCmp('testcard').doLayout();
                }
            }],
            bbar: ['->', {
                id: 'move-prev',
                text: '« Previous',
                handler: function (btn) {
                    navigate(btn.up("panel"), "prev");
                },
                disabled: true
            }, {
                id: 'move-next',
                text: 'Next »',
                handler: function (btn) {
                    navigate(btn.up("panel"), "next");
                }
            }],
            items: cards
        });

还有其他方法吗?一个单元格显示html的网格?

这是一种错误的方法,首先,您编写表单面板时,表单面板使用您在开始时定义的3张卡进行渲染,在选项处理程序上,新对象对卡变量的属性与表单面板无关,要更改或添加新元素,请使用面板的add方法,然后使用layout setActive

function (btn){
    btn.up('panel').add([{
                        id: 'card-1',
                        html: 'Page AAAAAAAAAAAA',
                        border: false
                    }, {
                        id: 'card-2',
                        html: 'Page BBBBBBBBBBBB',
                        border: false
                    }]);
    btn.up('panel').getLayout().setActiveItem(aPage);
}
我的意思是,这是卡片布局的核心,在一个面板中有许多组件,并切换它们,只显示一个

对于一个单元格一个页面的网格,它取决于你希望完成什么,如果你的页面是相似的,不同的只是你可以使用的数据。只需创建一个包含要呈现的html的Ext.XTemplate,并对网格列使用renderer函数

....
xtype: 'gridpanel',
tpl: new Ext.XTemplate('<html goes here/>').compile(),
columns: [
{
   dataIndex: 'id',
   header: 'theColumn',
   renderer: function(value,meta,record){
        return this.tpl.applyTemplate(record.data);
    }
},
....
。。。。
xtype:“gridpanel”,
tpl:new Ext.XTemplate(“”).compile(),
栏目:[
{
数据索引:“id”,
标题:“theColumn”,
渲染器:函数(值、元、记录){
返回此.tpl.applyTemplate(record.data);
}
},
....

我试图做的是一次显示一个图像列表。返回的json将根据收集的大小而变化。我想使用卡片布局来模拟这一点,但显然这可能不是最好的方法。如果我使用网格视图,可能单元格可以呈现HTML,我可以输入img src并将分页设置为1.我有一些类似的东西,实际上我使用的是一个由html呈现的面板,一个图片url的存储,在上一个和下一个存储上使用Ext.Template的覆盖方法,所以有一个图片tpl的模板,你就有了tpl.overwrite(panel.body,urlofNixterprevPicture);我认为这将是一个更简单的方法。你是如何处理分页的?你必须编写一些自定义的东西,还是商店中内置了一些分页机制?最好使用工具栏进行导航,而不是在HTML模板上编写下一个和上一个。嗯,我的类似于图片预览,所以只在一个页面上显示一张图片时间,基本上“下一个”和“上一个”按钮只是为商店中的下一个和上一个记录应用了模板,我认为系统中没有任何组件可以帮助您导航单个项目,页面大小为1的pagingtoolbar可以工作,但它不会在工具栏中显示相关数据,如显示1中的1,以及页面的数量页面。你想用什么取决于你的决定,组件有点黑客化,这取决于你想黑客化什么:)干杯。我要做的是在面板底部放置一个工具栏,其中的下一个/上一个将使用商店。你如何确定商店中的下一个、上一个和当前项目?我想这就是方法。