Javascript - ExtJs - 其它

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Javascript - ExtJs - 其它相关的知识,希望对你有一定的参考价值。

设置组件标题栏宽度

技术分享
listeners : {
        afterrender : function(panel) {
            var header = panel.header;
            header.setHeight(100);
        }
}
View Code

彻底去除组件的边框 

技术分享
baseCls: ‘my-panel-no-border‘
View Code

设置组件的css

有时候setStyle()和applyStyles()方法都不起作用,比如displayfield框的文本的颜色,其实可以直接setValue时将html标签放进去。

技术分享
var columnText = form.findField("columnText");
columnText.setValue("<font color=‘red‘>还没选择发布到哪个栏目</font>");
View Code

动态设置组件

利用Ajax可以轻易实现此需求,比如选中复选框、为输入框填入一个值等等。

技术分享
//以下为formPanel配置了一个监听,在表单渲染完成之前通过Ajax获取服务端数据填充到表单的子组件(一个输入框里)
listeners: {
    beforerender: function () {
        Ext.Ajax.request({
            method: "POST",
            url: "AdminRoleHandler.ashx",
            params: { getRooleName: "true" },
            success: function (r) {
                var m = Ext.decode(r.responseText);
                //获取输入框组件
                var rooleName = Ext.getCmp("rooleName");
                rooleName.setValue(m.value);          
            },
            failure: function () {
                Ext.Msg.alert("提示", "http错误");
            }
        });
    }
}

//在服务端
string getRooleName = context.Request.Params["getRooleName"];
if (!string.IsNullOrEmpty(getRooleName))
{
    context.Response.Write("{value:‘sam‘}");
}
View Code

动态添加子组件

任何组件,如果其具备add方法,则可以利用这一性质配合Ajax动态为组件插入子组件。

技术分享
//以下为formPanel配置了一个复选组,现在要通过后台返回的数据动态将子组件插入复选组
items: [
    {
        xtype: "checkboxgroup", fieldLabel: "系统管理", id:"systemConfig",defaults: { width: 120 }                             
    }
],
listeners: {
    beforerender: function () {
        Ext.Ajax.request({
            method: "POST",
            url: "AdminRoleHandler.ashx",
            params: { roleCheckbox: "true" },
            success: function (r) {
                var m = Ext.decode(r.responseText);
                //获取复选组组件                      
                var systemConfig = Ext.getCmp("systemConfig");
                systemConfig.add(m.items);
            },
            failure: function () {
                Ext.Msg.alert("提示", "http错误");
            }
        });
    }
}
//在服务端
string roleCheckbox = context.Request.Params["roleCheckbox"];
if (!string.IsNullOrEmpty(roleCheckbox))
{
    context.Response.Write("{ items:[ { boxLabel: ‘计算机‘, name: ‘rb‘, inputValue: ‘1‘ } ,{ boxLabel: ‘惠普‘, name: ‘ssa‘, inputValue: ‘1‘ }]}");
}
View Code

 

以上是关于Javascript - ExtJs - 其它的主要内容,如果未能解决你的问题,请参考以下文章

Javascript - ExtJs - 类

Javascript - ExtJs - TreePanel组件

Javascript/ExtJS:Ext.getCmp('') 导致 TypeError ...不是函数

如何使用 javascript/Extjs 进行默认横向打印?

ExtJS学习--------Ext.Element中其它操作方法学习

Javascript - ExtJs - GridPanel组件 - 编辑