Javascript - ExtJs - 其它

设置组件标题栏宽度

listeners : {
        afterrender : function(panel) {
            var header = panel.header;
            header.setHeight(100);
        }
}

彻底去除组件的边框

baseCls: ‘my-panel-no-border‘

设置组件的css

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

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

动态设置组件

利用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‘}");
}

动态添加子组件

任何组件,如果其具备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‘ }]}");
}

时间: 2024-10-16 12:40:46

Javascript - ExtJs - 其它的相关文章

Javascript - ExtJs - 类

类(Class) preparation! 我用的是ext-4.2,解压后会得到以下文件 学习要用到的文件很少,现在保留以下文件和整个文件夹,然后删除其它文件并保持目录结构.本页面底部有提供基础包的下载. 在aspx页面中引入必要的Extjs文件,ext-all-dev可以不引人,但它作为调试使用,so建议保留. 测试一下程序是否能跑起来. <script type="text/javascript"> Ext.onReady(function () { Ext.Messa

Javascript - ExtJs - 基本组件

与JQuery一样,ExtJs也有一个文档加载完毕的事件. Ext.onReady(function () { }); 基本组件(Basic components) 弹框组件 MessageBox MessageBox是Ext函数的静态函数成员,它提供一些列的弹出框方法. alert(title,suggest) title是标题,suggest是提示信息,弹出一个确定对话框. Ext.onReady(function () { Ext.MessageBox.alert("好吧,成功"

Javascript - ExtJs - Itemselector

引入扩展文件 Extjs4.2根目录下: examples \ ux \ css \ images (这是选择按钮的图片资源)examples \ ux \ css \ ItemSelector.cssexamples \ ux \ form \ MultiSelect.jsexamples \ ux \ form \ ItemSelector.js 我是将以上文件取出来打包到我项目中自己创建的ux目录,没有全部使用ExtJs的包,然后引入以上文件: <script src="/ExtJs

Javascript - ExtJs - 常用方法和属性

常用方法和属性(Common methods and attributes) 获取 get(x) x是元素的ID || dom元素对象 || ExtElement对象 将参数所指转化为ExtElement对象并返回它(非Dom元素对象,而是对Dom元素的封装),此方法等同于new Ext.Element(x) . Ext.select(x) x是选择器 返回一个CompositeElement对象,表示ExtElment对象的集合.但返回的这个对象实际上并非数组,不能通过数组索引访问它包含的数据

Javascript - ExtJs - GridPanel组件 - 编辑

如果要对表格进行编辑需要完成以下三步 1.将columns中需要编辑的列设为editor并提供编辑列时所要使用的控件. 2.在gridPanel渲染出来之前实例化插件类的子类,一个列编辑器对象. 3.将列编辑器对象绑定到gridPanel里. 4.指示gridPanel的选择模式为列选择模式. 以下仅仅只有配置编辑列的关键代码,代码片段如下: var columns = [ { header: '编号', dataIndex: 'id' }, { header: '性别', dataIndex:

Javascript - ExtJs - Window组件

Ext.create("Ext.window.Window", {    id: "AuthorizationWin",    title: "正在编辑……",    autoShow: true,     modal: true,//设置是否添加遮罩    layout: "anchor",    width:600,    height: 450,    items: [            Ext.getCmp(&qu

Javascript - ExtJs - 事件

事件(ExtJs Event) Ext.Util.observable类  Ext.Util.observable是一个接口,为Ext组件的事件提供了支持,组件的事件不同于传统事件,所以需要有这么一套事件体系.只有实现了该接口的组件才具有那些特殊的事件. Ext.EventObjectImpl类  Dom中原始的Event对象被ExtJs封装为Ext.EventObjectImpl.也即在ExtJs中Ext.EventObjectImpl就代表了原始的Event对象,它存储了事件发生时的信息.每

Javascript - ExtJs - 数据

Ext.data命名空间 有关数据存储.读取的类都定义在Ext.data命名空间中.Ext的gridPanel.combobox的数据源都是来自Ext.data提供的类.该命名空间下的类支持A数组.Json和xml数据. Ext.data.Connection 此类封装了Ajax,提供比传统Javascript异步传输数据更为简洁的方法,兼容了所有浏览器.它负责与服务端实现异步交互,并把从服务端的数据转交给Ext.data.Proxy进行处理.以下代码创建connection实例,并配置好它的各

Javascript - ExtJs - TreePanel组件

TreePanel组件(Ext.tree.TreePanel) 树与节点 树面板组件的根是源头,从根上拓展出其它的子节点和叶子节点,前者可以继续拓展出子节点,后者因为是叶子,所以不再有子节.Json自身就有树的结构,所以使用Json作为树面板的data是顺理成章的事.节点都来自Ext.data.NodeInterface接口,该接口提供了对节点的创建.删除.替换.查找.获取.插入等操作. 树.配置.config store: Ext.data.store //配置数据存储器.配置root指定节点

Javascript - ExtJs - FormPanel组件

自定义验证 配置字段的vtype属性可以自动开启验证,你也可以替换掉Ext内置的验证程序,替换方式如下所示. //自定义验证 Ext.apply(Ext.form.VTypes, { otherTest1: function () { }, otherText: "", otherTest2: function () { }, otherText: "" }); //替换之后再配置字段时可使用vtype:otherTest指向验证程序 //自定义验证 Ext.app