1

チーム、

ビュー ポートにデータを配置する方法。2 つのパネルがあり、目的の効果を達成できません。私はextjs 3.4を使用しています

私は次の問題に直面しています:

  1. ボーダーがオーバーラップしており、非常に太くなっています。上下左右にスペースを空けられない。
  2. 高さを設定できず、ページ全体に拡大しています。
  3. グリッドとパネルの幅を減らす必要があります 3 つの列しかありません

コード。

<html>
<head>
<title>Title</title>
<link rel="stylesheet" type="text/css" href="ext-3.4.0/resources/css/ext-all.css" />
<style type="text/css">
.add24 {
    background-image: url(images/fiber_Cable.jpg) !important;
}
</style>
<script type="text/javascript" src="ext-3.4.0/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="ext-3.4.0/ext-all.js"></script>
</head>
<body>

<script type="text/javascript">
    Ext.onReady(function() {
        var baseParamsv = {
        "pager":""
        };

        Ext.QuickTips.init();

        var searchFormPanel = new Ext.FormPanel({
            id: 'searchForm'
            ,region:'north'
            ,title:'Heading'
            ,layout:'table'
            ,bodyStyle:'padding:10px;'
            ,height:100
            ,width:200
            ,padding: '5 5 5 5' 
            ,layoutConfig: {columns: 2}
            ,defaults: {ctCls:'padding3'}
        });
        searchFormPanel.add({xtype: 'label', text:'Search User:'});
        searchFormPanel.add({xtype: 'label', text: ''});
        searchFormPanel.add({xtype: 'textfield', id: 'search1', name: 'search1', value: '',enableKeyEvents: true});
        searchFormPanel.add({xtype: 'button', id: 'go', cls: 'spacing3', text: 'Go!', handler:function() {} });

        var gridColumnModel = new Ext.grid.ColumnModel([
        { header: "checked",sortable:true, menuDisabled:true, dataIndex:'checked',width:20,renderer:checkBoxRenderer},
        { header: "username",sortable:true, menuDisabled:true, dataIndex:'username',width:40,renderer:UserNameRenderer},
        { header: "emailid",sortable:true, menuDisabled:true, dataIndex:'emailid',width:30, renderer:emailidRenderer}
    ]);     
    var store = new Ext.data.JsonStore({    
            baseParams:baseParamsv,
            fields: [
                {name:'checked'},
                {name:'username'},
                {name:'emailid'}
            ],
            root:'data',
            totalProperty: 'total',
            url:'data.json',
            id:'offlineDataStoreId' 
    });






    var dataGrid = new Ext.grid.GridPanel({
            colModel:gridColumnModel
            ,region:'center'
            ,store:store
            ,stripeRows:true
            ,viewConfig: { autoFill:true, emptyText : 'No data found to display', forceFit: true, scrollOffset: 2 }
            ,layout:'fit'
            ,listeners: {
                    render: function(){
                        var initParams =  Ext.apply({},baseParamsv);
                        Ext.apply(initParams, {
                             start:0,
                             limit:10
                        });
                        this.store.load({params:initParams});
                    }
                }
        });



    function checkBoxRenderer(val, meta, record, rowIndex, colIndex, offlineStore) {
        return '<input type=checkbox name="check_box" value="'+record.get('emailid')+'">';
    }

    function UserNameRenderer(val, meta, record, rowIndex, colIndex, offlineStore) {
        return val;
    }

    function emailidRenderer(val, meta, record, rowIndex, colIndex, offlineStore) {

        return val;
    }


        var innerPanel = {
        xtype: 'panel',
        id: 'inner-panel',
        layout: 'border',
        region: 'center',
        title:'Heading',
        width:200,
        bodyStyle:'padding:10px;',
        padding: '5 5 5 5' ,
        items :[dataGrid]
        };


         var viewPort = new Ext.Viewport({
            layout: 'border',
            title: 'Ext Layout Browser',
            items:[searchFormPanel,innerPanel],
            bodyStyle:'padding:10px;margin-top:10px',
            renderTo:Ext.getBody()
        });
        viewPort.doLayout();


    });


</script>
</body>
</html>
4

1 に答える 1

0

ページ全体を使用したくない場合は、Viewoprt の代わりにパネルを使用してください。

var viewPort = new Ext.Panel({
    layout: 'border',
    width: 400,
    height: 300,
    title: 'Ext Layout Browser',
    items:[searchFormPanel,innerPanel],
    bodyStyle:'padding:10px;margin-top:10px',
    renderTo:Ext.getBody()
});

ここで結果を確認できます: http://jsfiddle.net/3CabN/6/

于 2012-12-27T01:23:13.363 に答える