wangbaoping521 2010-09-25 15:52
浏览 712
已采纳

EXT如何给WINDOW弹窗传值

Ext.onReady(function() {

// 设备类型
var devBoxs = [["#1办公楼", "#1办公楼"], ["#2办公楼", "#2办公楼"]]
var proxy = new Ext.data.MemoryProxy(devBoxs);
var reader = new Ext.data.ArrayReader({}, [{
    name : "devTypeName",
    type : "string",
    mapping : 0
}, {
    name : "devTypeName",
    type : "string",
    mapping : 1
}])
var store = new Ext.data.Store({
    proxy : proxy,
    reader : reader,
    autoLoad : true
})
var devBoxCombox = new Ext.form.ComboBox({
    name : "devTypeCode",
    width : 220,
    fieldLabel : "房间位置",
    hiddenName : "devTypeCode",
    triggerAction : "all",
    editable : false,
    store : store,
    displayField : "devTypeName",
    valueField : "devTypeName",
    emptyText : "please check!",
    value : "A机房"
})

    // 设备类型
var devBoxWheres = [["网络组", "网络组"]];
var proxy = new Ext.data.MemoryProxy(devBoxWheres);
var reader = new Ext.data.ArrayReader({}, [{
    name : "devTypeName",
    type : "string",
    mapping : 0
}, {
    name : "devTypeName",
    type : "string",
    mapping : 1
}])
var store = new Ext.data.Store({
    proxy : proxy,
    reader : reader,
    autoLoad : true
})
var devWhereCombox = new Ext.form.ComboBox({
    name : "devTypeCode",
    width : 220,
    fieldLabel : "所属部门",
    hiddenName : "devTypeCode",
    triggerAction : "all",
    editable : false,
    store : store,
    displayField : "devTypeName",
    valueField : "devTypeName",
    emptyText : "please check!",
    value : "36#"
})

var roomForm = new Ext.form.FormPanel({
    width : 620,
    autoHeight : true,
    frame : true,
    bodyStyle : "padding:5px",
    layout : "form",
    labelWidth : 70,
    labelAlign : "left",
    items : [{
        layout : "column",
        items : [{
            columnWidth : .5,
            layout : "form",
            items : [{
                name : "linksNo",
                xtype : "textfield",
                fieldLabel : "房间名称",
                allowBlank : false,
                width : 220,
                value : "102室",
                blankText : '不能为空'
            }]
        }, {
            columnWidth : .5,
            layout : "form",
            items : devBoxCombox
        }]
    }, {
        layout : "column",
        items : [ {
            columnWidth : .5,
            layout : "form",
            items : devWhereCombox
        },{
            columnWidth : .5,
            layout : "form",
            items : [{
                name : "linksModeld",
                xtype : "textfield",
                fieldLabel : "负责岗位",
                width : 220,
                value : "资产岗",
                allowBlank : false,
                blankText : '不能为空'
            }]
        }]
    },{
        layout : "form",
        items : [{
            name : "remarkCode",
            xtype : "textarea",
            fieldLabel : "备注",
            width : 519,
            height:50,
            value : "网络组专用机房"

        }]
    }],
    buttonAlign : "center",
    buttons : [{
        text : "提交",
        handler : function() {
            Ext.Msg.alert("提示", "增加办公室成功!")
        }
    }, {
        text : "重置",
        handler : function() {
            roomForm.getForm().reset();
        }
    }, {
        text : "关闭",
        handler : function() {
            roomWin.hide();
        }
    }]
});

var roomWin = new Ext.Window({
    title : "增加办公室对话框",
    width : 650,
    autoHeight : true,
    closeAction : "hide",
    maskDisabled : true,
    plain : false,
    bodyStyle : "padding:8px",
    items : roomForm,
    modal : true,
    listeners : {
        close : function(window) {
            var delObj = document.getElementById(window.button.id);
            delObj.parentNode.parentNode.removeChild(delObj.parentNode);
        }
    }
})



// 定义用于表示订单的数组
var data = [{
    roomName : "102室",
    roomAddr : "#1办公楼",
    roomDept:"网络组",
    roomUse:"资产岗",
    devCount : "45",
    devUse:"13",
    remark : "网络组工作办公室"
}];

// 定义Proxy
var proxy = new Ext.data.MemoryProxy(data);

var Order = Ext.data.Record.create([{
    name : "roomName",
    type : "string",
    mapping : "roomName"
}, {
    name : "roomAddr",
    type : "string",
    mapping : "roomAddr"
}, {
    name : "devCount",
    type : "string",
    mapping : "devCount"
}, {
    name : "devUse",
    type : "string",
    mapping : "devUse"
}, {
    name : "roomDept",
    type : "string",
    mapping : "roomDept"
}, {
    name : "roomUse",
    type : "string",
    mapping : "roomUse"
}, {
    name : "remark",
    type : "string",
    mapping : "remark"
}]);

// 定义Reader
var reader = new Ext.data.JsonReader({}, Order);

// 定义Store
var store = new Ext.data.Store({
    proxy : proxy,
    reader : reader,
    autoLoad : true,
    pruneModifiedRecords : true
});


// 定义列模型
var cm = new Ext.grid.ColumnModel([{
    header : "房间名称",
    dataIndex : "roomName",
    width : 100,
    align : "center",
    sortable : true

}, {
    header : "房间位置",
    dataIndex : "roomAddr",
    width : 90,
    align : "center",
    sortable : true
}, {
    header : "归属部门",
    dataIndex : "roomDept",
    width : 90,
    align : "center",
    sortable : true
}, {
    header : "负责岗",
    dataIndex : "roomUse",
    width : 90,
    align : "center",
    sortable : true,
    editor : new Ext.grid.GridEditor(new Ext.form.TextField())

}, {
    header : "端口数量",
    dataIndex : "devCount",
    width : 90,
    align : "center",
    sortable : true
}, {
    header : "在用端口数",
    dataIndex : "devUse",
    width : 90,
    align : "center",
    sortable : true,
    editor : new Ext.grid.GridEditor(new Ext.form.TextField())

}, {
    id : "remark",
    header : "描述",
    dataIndex : "remark",
    width : 150,
    align : "center",
    sortable : true,
    editor : new Ext.grid.GridEditor(new Ext.form.TextField())
}

]);
// 分页控件 其实分页还是要后台控制的
var pagingBar = new Ext.PagingToolbar({
    autoWidth : true,
    pageSize : 3,
    displayInfo : true,
    emptyMsg : "没有数据显示",
    displayMsg : "显示从{0}条到{1}条数据,共{2}条数据",
    store : store,
    loadMask : true
});

var search=new Ext.Form.TextField({
emptyText:"请输入房间名称"
});

// 定义EditGridPanel
var grid = new Ext.grid.GridPanel({
    title : "房间列表视窗",
    store : store,
    cm : cm,
    renderTo : "a",
    autoExpandColumn : "remark",
    autoWidth : true,
    height : 300,
    autoEncode : true, // 提交时是否自动编码
    tbar : ["-", {
        text : "增加房间",
        icon : "../../../extjs/resources/images/default/dd/drop-add.gif",
        handler : function() {
            roomWin.show();
        }
    }, "-", {
        text : "修改房间",
        icon : "../../../extjs/resources/images/default/dd/drop-add.gif",
        cls : "x-btn-text-icon",
        handler : function() {
        roomWin.show(); 
        }
    }, "-", {
        text : "删除机房",
        icon : "../../../extjs/resources/images/default/dd/drop-no.gif",
        cls : "x-btn-text-icon",
        handler : function() {
            var sm = grid.getSelectionModel();
                if (sm.hasSelection()) {
                    Ext.Msg.confirm("提示", "真的要删除选中的行吗?", function(btn) {
                        if (btn == "yes") {
                            var rsm = grid.getSelectionModel();// 得到行选择模型
                            var view = grid.getView();
                            var store = grid.getStore();
                            for (var i = view.getRows().length - 1; i >= 0; i--) {
                                if (rsm.isSelected(i)) {
                                    store.remove(store.getAt(i));
                                }
                            }
                            view.refresh();
                        }
                    });
                } else {
                    Ext.Msg.alert("错误", "请先选择删除的行,谢谢!");
                }
        }

    }, "-","->"search,{
    text:查询},"-"
        ],
    bbar : pagingBar

});

grid.addListener('rowdblclick', cellclick);

function cellclick(grid, rowIndex, e) {
    roomstore.remove(roomstore.getAt(0));
    //view.refresh();
    // devStore.load({params:{start:0, limit:3}});
}
})

1.search框在ttar如何居中 现在是挨着上面了 下面还有一段距离,我想把文本框居中;
2,我选中某一列点击修改时 怎么样把当前行各列的值传入到增加房间的视窗中;

  • 写回答

1条回答 默认 最新

  • lizhiyezi 2010-09-25 16:31
    关注

    设置 search style:'margin-top:1px;' 或者 style:'padding-top:1px;'

    roomWin.on('show', function() {

    var data = grid.getSelectionModel() .getSelected().data;//获取选中第一行值
    roomForm.getForm() .setValues(data); //设置表单值

                                })
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 我想在一个软件里添加一个优惠弹窗,应该怎么写代码
  • ¥15 fluent的在模拟压强时使用希望得到一些建议
  • ¥15 STM32驱动继电器
  • ¥15 Windows server update services
  • ¥15 关于#c语言#的问题:我现在在做一个墨水屏设计,2.9英寸的小屏怎么换4.2英寸大屏
  • ¥15 模糊pid与pid仿真结果几乎一样
  • ¥15 java的GUI的运用
  • ¥15 Web.config连不上数据库
  • ¥15 我想付费需要AKM公司DSP开发资料及相关开发。
  • ¥15 怎么配置广告联盟瀑布流