*(00)*

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  613 随笔 :: 0 文章 :: 45 评论 :: 159万 阅读
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

原文地址:http://blog.csdn.net/weoln/article/details/4339533

 

第一次用Extjs的column布局时遇见了很多问题,记录下来,供大家参考。column布局时常会碰见label不能显示或者控件显示错位等问题,导致这些问题的常见原因如下:

1.formPanel上的控件显示不出来,控件的宽度太大,formpanel的宽度相对太小导致。

2.FormPanel设定了defaultType属性,没有为每个控件单独制定xtype属性。正确的做法是不设置defaultType。

3.在每个column里再加上form layout,再在form里加textfield。

4.在新建TabPanel时,将其属性layoutOnTabChange设置为true即可。(此方法不通用)

 

实例代码如下:

 

复制代码
Ext.onReady(function(){

    
            Ext.QuickTips.init();

    // turn on validation errors beside the field globally
    Ext.form.Field.prototype.msgTarget = 'side';

    var bd = Ext.getBody();

var detailForm = new Ext.FormPanel({
        id:"detail",
        layout:"form",
        labelWidth: 60,
        labelAlign:"right",
        border:false,
        frame:true,
        width: 600,//宽度设置要合理,如果FormPanel的宽度小于控件的宽度,column布局时控件不能正常显示
        height:400,
//      autoHeight:true,
//      defaultType: 'textfield',//column布局时不能设置该属性,否则不能正常显示
        items: [{//第一行
            layout:"column",
            items:[{
                columnWidth:.3,//第一列
                layout:"form",
                items:[{
                    xtype:"textfield",
                    fieldLabel: '合同编号',
                    name: 'contractId',
                    width:100
                    }]
            },{
                columnWidth:.3,//第二列
                layout:"form",
                items:[{
                    xtype:"textfield",
                    fieldLabel: '合同名称',
                    name: 'contractId1',
                    width:100
                    }]
            },{
                columnWidth:.3,//第三列
                layout:"form",
                items:[{
                    xtype:"textfield",
                    fieldLabel: '合同',
                    name: 'contractId2',
                    width:100
                    }]
            }]},//第一行结束
            {//第一行
            layout:"column",
            items:[{
                columnWidth:.3,//第一列
                layout:"form",
                items:[{
                    xtype:"textfield",
                    fieldLabel: '合同编号',
                    name: 'contractId',
                    width:100
                    }]
            },{
                columnWidth:.3,//第二列
                layout:"form",
                items:[{
                    xtype:"textfield",
                    fieldLabel: '合同名称',
                    name: 'contractId1',
                    width:100
                    }]
            },{
                columnWidth:.3,//第三列
                layout:"form",
                items:[{
                    xtype:"textfield",
                    fieldLabel: '合同',
                    name: 'contractId2',
                    width:100
                    }]
            }]},//第一行结束
            {//第一行
            layout:"column",
            items:[{
                columnWidth:.3,//第一列
                layout:"form",
                items:[{
                    xtype:"textfield",
                    fieldLabel: '合同编号',
                    name: 'contractId',
                    width:100
                    }]
            },{
                columnWidth:.3,//第二列
                layout:"form",
                items:[{
                    xtype:"textfield",
                    fieldLabel: '合同名称',
                    name: 'contractId1',
                    width:100
                    }]
            },{
                columnWidth:.3,//第三列
                layout:"form",
                items:[{
                    xtype:"textfield",
                    fieldLabel: '合同',
                    name: 'contractId2',
                    width:100
                    }]
            }]}//第一行结束
           ]
      }); 



var win =  new  Ext.Window(
               {
                   id:"window",
                title: " 合同信息 " ,
                layout: 'border',
                width:600,
                height:500,
                closeAction:'hide',
                plain: true,
                
                items:[new Ext.TabPanel({
                        region: 'center',
                        deferredRender: false,
//                        layoutOnTabChange:true,//在TabPanel中采用column布局时,有时需要设置该属性
                        activeTab: 0, //活动的tab索引
                        items: [{
                            //contentEl: 'tab1',
                            title: '合同明细',
                            closable: false, //关闭项
                            autoScroll: false, //是否自动显示滚动条
                            layout:'fit',
                            collapsible: true,
                            split:true,
                            margins:'0 0 0 0',
                            items:[detailForm]
                        },{
                            //contentEl: 'tab2',
                            title: '规格明细',
                            closable: false, //关闭项
                            autoScroll: false, //是否自动显示滚动条
                            layout:'fit',
                            collapsible: true,
                            split:true,
                            margins:'0 0 0 0'
                        }]
                    })],
                
                buttons: [{
                    text:'Submit',
                    disabled:true
                },{
                    text: 'Close',
                    handler: function(){
                        win.hide();
                       // detailForm.destroy();
                    }
                }]

      });    
   
    //显示窗口
    win.show();

});
复制代码

 

posted on   *(00)*  阅读(1007)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示