`
yunhan
  • 浏览: 10654 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Ext 两个Window共用同一个Form样例

阅读更多
var record;
var objbusinesstypetext="";
var addform;
var queryform;
var isCompanyForm;
var securityForm;
var mydata;
var temPanel = new Ext.Panel({
        region: 'center',
        layout: 'fit'
  })

Ext.onReady(function(){  
showMainForm();
});

function showMainForm()
{
mydata = [
  ['粤A12345','粤A12345'],
  ['粤A12345','粤A12345'],
  ['粤A12345','粤A12345']
];

var driverStore = new Ext.data.SimpleStore({
fields:['value','text'],
data: mydata
})

var mydata1 = [
['dazhuan','大专'],
['benke','本科'],
['shuangxueshi','双学士'],
['shuoshi','硕士'],
['boshi','博士'],
['fujiaoshou','副教授'],
['jiaoshou','教授']
]

var xueliStore = new Ext.data.SimpleStore({
fields:['value','text'],  
data:mydata1  
})



//弹出框中的FormPanel
addform=new Ext.FormPanel({
    region:'center',
id:'formaddform',
name:'formaddform',
frame:true,
monitorValid:true,   // 把有formBind:true的按钮和验证绑定
items:[{
layout:'column',
items:[{
columnWidth:.5,
                layout: 'form',
                items: [{
                    id:'addformUserLoginId',
xtype:'textfield',
fieldLabel: "<span style='color:#F00'>*</span> "+'用户登录名',
name: 'userLoginId',
allowBlank:false,
        blankText:"不能为空,请填写"
                },
                {
                    fieldLabel: "<span style='color:#F00'>*</span> "+'密码',
        xtype:'textfield',
        name: 'currentPassword',
        id: 'pass',
        inputType: 'password',
        allowBlank:false,
        blankText:"不能为空,请填写"
                },{
      id:'currentPasswordVerify',
        fieldLabel: "<span style='color:#F00'>*</span> "+'密码确认',
        xtype:'textfield',
        name: 'currentPasswordVerify',
        vtype: 'password',
        initialPassField: 'pass',
        inputType: 'password',
        allowBlank:false,
       blankText:"不能为空,请填写"
      },
      {
xtype:'textfield',
fieldLabel: "<span style='color:#F00'>*</span> "+'姓名',
name: 'userName',
        vtype:'R25',
        allowBlank:false,
       blankText:"不能为空,请填写"
},{
xtype:'textfield',
fieldLabel: '员工编号',
name: 'userNo',
        vtype:'R25'
},new Ext.form.DateField({
                        fieldLabel: '出生日期',
                        name: 'birthDate',
                        format:'Y-m-d'
        }),
        {
        fieldLabel:"<span style='color:#F00'>*</span> "+"状态",
            layout:"table",
            items:[{
               xtype:"radio",
               boxLabel:"启用",
               name:"enabled",
               inputValue:"Y",
              checked: true
             },{
               xtype:"radio",
              boxLabel:"作废",
               name:"enabled",
               inputValue:"N"
     }]
    },{
xtype:'textfield',
fieldLabel: '备注',
name: 'comments'
}
        ]
},{
        columnWidth:.5,
                layout: 'form',
                items: [
                {
        fieldLabel:"性别",
            layout:"table",
            items:[{
               xtype:"radio",
               boxLabel:"男",
               name:"gender",
               checked: true,
               inputValue:"1"
             },{
               xtype:"radio",
               boxLabel:"女",
               name:"gender",
               inputValue:"0"
     }]
    },{
xtype:'textfield',
fieldLabel: '地址',
name: 'userAddress'
},{
xtype:'textfield',
fieldLabel: '联系电话',
name: 'userPhone'
},{
xtype:'textfield',
fieldLabel: '邮编',
name: 'postcode'

},{
xtype:'textfield',
fieldLabel: 'email地址',
name: 'userEmail',
vtype:'email'
}]
}]

}],
buttons:[{text:"提交",formBind:true,handler:function (){

}}],
buttonAlign:'center'
});

queryform = new Ext.FormPanel({
applyTo:'ImportMainFormDiv',
    region:'north',
    animCollapse:false,
    collapsible: true,
        frame: true,
        monitorValid: true,
        height: 110,
        title: "系统管理-用户信息查询",
        layout: 'column',
        items: [{
            columnWidth: .25,
            layout: 'form',
            items: [{
                xtype: 'textfield',
                fieldLabel: '用户登录名',
                name: 'brandName',
anchor:'92%',
            }]
        },{
            columnWidth: .25,
            layout: 'form',
            items: [{
          xtype:'textfield',
        fieldLabel: '用户姓名',
        name: 'category1',
format:'Y-m-d H:i',
anchor:'92%'
}]
        }],
        buttons: [
{
            text: "创建",
            handler: create,
            formBind: true
        },
        {
            text: "查询",
            //handler: selectData,
            formBind: true
        },
        {
            text: "重置",
            //handler: reset,
            formBind: true
        }],
        buttonAlign: 'center'
    });


var sm=new Ext.grid.CheckboxSelectionModel();
//var rowNumberer = new Ext.grid.RowNumberer();
var colModel = new Ext.grid.ColumnModel([
{header: "用户登录名", sortable: true, dataIndex: 'loginName'},
{header: "用户姓名", sortable: true, dataIndex: 'userName'},
{header: "性别", sortable: true, dataIndex: 'sex'},
{header: "操作", renderer:renderLocation, dataIndex: 'operation'}
]);

    var simpleData = [
        ['zf','张飞','男'],
        ['gy','关羽','男'],
        ['zz','小赵','男'],
        ['mc','马超','男'],
        ['ah','老黄','男'],
        ['zg','诸葛老儿','男']];

    var store = new Ext.data.Store({
        proxy: new Ext.ux.data.PagingMemoryProxy(simpleData),
        remoteSort:true,
        sortInfo: {field:'organizationName', direction:'ASC'},
        reader: new Ext.data.ArrayReader({
            fields: [
   {name: 'loginName', type: 'string'},
   {name: 'userName', type: 'string'},
   {name: 'sex', type: 'string'},
   {name: 'operation', type: 'string'} 
        ]
        })
    });
    store.load();

var _sm=new Ext.grid.RowSelectionModel({
singleSelect: true,
listeners: {
rowselect: function(sm, row, rec) {
//addform.form.loadRecord(rec);                   //也可以
record=rec;

}
}
});

   var querygrid = new Ext.grid.GridPanel({
    region:'center',
        tbar: [
            '快速搜索:',
            new Ext.ux.form.SearchField({
                store: store
            })
        ],
        enableColumnHide:false,
        border: true,
        autoExpandColumn: 'operation',
        cm: colModel,
        sm: _sm,
height:'328',
        loadMask:true,
        viewConfig:{
        forceFit:true,
        emptyText:'没有数据'
        },
        store: store,
        autoScroll:true,
        columnLines: true,
layout:'fit',
        bbar: new Ext.PagingToolbar({
            pageSize: 12,
            store: store,
            displayInfo: true,
            displayMsg: '第{0} - {1}条,共:{2}',
            emptyMsg: "无显示记录"
        })
    });
querygrid.render('productGridDiv');

var dsCompanyUnStore = new Ext.data.SimpleStore({
fields:['value','text'],
data: mydata
})


var dsCompanyStore = new Ext.data.SimpleStore({
fields:['value','text'],  
data:mydata  
})

isCompanyForm = new Ext.form.FormPanel({
region:'center',
    height:415,
width:600,
layout: 'fit',
    items:[{
        xtype: 'itemselector',
        name: 'itemselector',
        imagePath: '../../extjs/ux/images/',
        multiselects: [{
            height:350,
width:280,
            store: dsCompanyUnStore,
            displayField: 'text',
            valueField: 'value'
        },{
        id:'toComMultiselectsId',
            height:350,
width:280,
           store: dsCompanyStore,
            displayField: 'text',
            valueField: 'value'
        }]
    }],

    buttons: [{
        text: '保存',
        handler: function(){
          
        }
    }]
});

}

//弹出window,window中方一个FormPanel
var win;
function create(str){
if(!win){
        win = new Ext.Window({
applyTo:'addPanel',
            width:600,
            height:300,
            closeAction:'hide',  //如果不加,关闭后,就不能打开
            modal:true,          //背景阴影
//            listeners: { 
//                        hide:function(w){ 
//                            //关键部分:隐藏窗口前先还原,滚动条才不会消失 
//                            addform.getForm().reset();
//                        }
//                    } ,
            layout: 'fit',
    items: addform
        });
    }

addform.form.reset();

if(str=="update")
    {
    Ext.getCmp('formaddform').setTitle("修改"+objbusinesstypetext);
   
    }else
    {
    Ext.getCmp('formaddform').setTitle("创建"+objbusinesstypetext);
    }

    win.alignTo(document.body , 'c-c?' );
    win.show();
}

var winassign;
function createwinassign(str,val){

temPanel.add(isCompanyForm);

if(!winassign){
        winassign = new Ext.Window({
            applyTo:'assignPanel',
            title: '分配权限组',
            height:415,
width:600,
resizable :false,
            closeAction:'hide',  //如果不加,关闭后,就不能打开
            modal:true,          //背景阴影
            layout: 'fit',
    items: temPanel,
listeners: { 
                        hide:function(w){ 
                            //关键部分:隐藏窗口前先还原,滚动条才不会消失 
                           w.restore();  
                        },
                        close:function(w){ 
                            //关键部分:关闭窗口前先还原,滚动条才不会消失 
                            w.restore();   
                        },
                        maximize:function(w){     
                            //关键部分:最大化后需要将窗口重新定位,否则窗口会从最顶端开始最大化                         
                            w.setHeight(Ext.getBody().getViewSize().height);
                        }
                    }

        });
    }else
{
winassign.add(temPanel);
winassign.doLayout();
}

    winassign.alignTo(document.body , 'c-c?' );
    winassign.show();
}

var winassignCompany;
function createwinassignCompany(str,val){

temPanel.add(isCompanyForm);

if(!winassignCompany){
        winassignCompany = new Ext.Window({
            applyTo:'assignCompanyPanel',
            title: '分配公司',
            height:415,
width:600,
resizable :false,
            closeAction:'hide',  //如果不加,关闭后,就不能打开
            modal:true,          //背景阴影
            layout: 'fit',
    items: temPanel,
listeners: { 
                        hide:function(w){ 
                            //关键部分:隐藏窗口前先还原,滚动条才不会消失 
                           w.restore(); 
                        },
                        close:function(w){ 
                            //关键部分:关闭窗口前先还原,滚动条才不会消失 
                           w.restore(); 

                        },
                        maximize:function(w){     
                            //关键部分:最大化后需要将窗口重新定位,否则窗口会从最顶端开始最大化                         
                            w.setHeight(Ext.getBody().getViewSize().height);
                        }
                    }
        });
    }else
{
winassignCompany.add(temPanel);
winassignCompany.doLayout();
}

    winassignCompany.alignTo(document.body , 'c-c?' );
    winassignCompany.show();
}

function renderLocation(value, cellmeta, record, rowIndex, columnIndex, store) {
var str = "&nbsp;";
str=str+"&nbsp;&nbsp;<input type='button' value='修改' onclick=\"create('update');\"/>";
str=str+"&nbsp;&nbsp;<input type='button' value='分配权限组' onclick=\"createwinassign();\"/>";
str=str+"&nbsp;&nbsp;<input type='button' value='分配公司' onclick=\"createwinassignCompany();\"/>";
return str;
}
分享到:
评论

相关推荐

    EXT 树形结构样例

    EXT Tree 是一个强大的JavaScript组件,它是EXT JS框架的一部分,用于构建可交互的树形结构界面。EXT Tree在Web应用中广泛使用,特别是在需要展示层级关系数据的场景下,如文件系统、组织架构或导航菜单。这个"EXT ...

    一个简单的Ext.Window中插入图片的例子

    在Ext JS这个强大的JavaScript框架中,`Ext.Window`是一个常用组件,用于创建浮动、可弹出的窗口。在Web应用程序中,我们常常需要在这些窗口中展示各种内容,包括文字、表格、按钮,当然还有图片。本文将详细介绍...

    ExtDemo初学者样例

    新手入门,有ext-base.js ext-all.js ext-all.css。简单的配置,仅适用于初学,没有debug

    一个简单的Ext样例,实现了一个表格功能

    在这个“一个简单的Ext样例”中,我们看到它被用来实现了一个具有表格功能的应用。这个表格不仅展示了数据,还具备了动态操作的能力,如自动排序和增删列,这使得用户交互更加直观和高效。 首先,我们要理解ExtJS中...

    Ext window的使用

    Ext.Window是Ext JS中的一个类,继承自Ext.container.Container,它创建了一个可以在页面上自由移动和调整大小的浮动窗口。窗口通常用作模态对话框、信息提示或其他需要用户交互的场景。 2. **创建一个基本的Ext....

    Ext.window从右下角弹出/隐藏

    本文将详细探讨如何在ExtJS中实现一个窗口(`Ext.window`)从右下角动态弹出并隐藏的功能,类似于即时通讯软件(如MSN)中的登录提醒。 #### 二、关键技术点 ##### 1. **自定义窗口类** 为了实现上述需求,首先...

    Ext Form全攻略

    Ext Form全攻略 Ext Form全攻略Ext Form全攻略Ext Form全攻略Ext Form全攻略Ext Form全攻略Ext Form全攻略Ext Form全攻略

    EXT.form组件

    1. `form`:`Ext.FormPanel`是EXT JS中的表单面板,它是一个容器,可以容纳各种表单字段和其他组件。表单面板允许你定义布局、提交行为以及处理表单数据的方法。 2. `checkbox`:`Ext.form.Checkbox`是用于创建复选...

    Ext_Window用法

    Ext_Window用法

    Ext 添加功能form表单实例

    综上所述,这个实例展示了如何在Ext中创建一个完整的表单,包括表单的布局、字段的定义及验证、按钮及事件处理等多个方面。对于初学者来说,这是一个很好的学习资源,可以帮助他们快速掌握如何使用Ext构建复杂的Web...

    ext 仿window 界面

    EXTJS 是一个强大的JavaScript 库,它主要用于构建富客户端应用程序,尤其在企业级Web应用中广泛应用。"ext 仿window 界面"指的是使用EXTJS 框架来创建类似于Windows桌面操作系统的用户界面,提供一种熟悉且直观的...

    Ext-window属性

    在支持一次仅显示一个子组件的布局中,如`Ext.layout.Accordion`、`Ext.layout.CardLayout`和`Ext.layout.FitLayout`,这个属性特别有用。 2. **allowDomMove**: 默认值为`true`,表示在组件渲染过程中允许移动DOM...

    Ext.window的一个扩展组件SuperWin.js

    Ext.window的一个扩展组件SuperWin.js.可灵活自主随意定位,和显示模式;

    Ext.form表单中各种属性应用详解

    **Ext.form.NumberField** 是 **Ext.form.TextField** 的一个扩展,它专为处理数字输入而设计,提供了一系列与数值相关的配置选项。 - **allowDecimals**: 类型为 `Boolean`,决定是否允许输入小数,默认为 `true`...

    extjs-Ext.ux.form.LovCombo下拉框

    在EXTJS框架中,`Ext.ux.form.LovCombo`是一种自定义组件,它扩展了基本的`Ext.form.field.ComboBox`,提供了更丰富的功能,尤其是针对多选和联动选择的需求。这个组件通常用于创建具有“lov”(即“Look Up Value”...

    EXT dojochina文本框示例Ext.form.TextField.rar

    1. **基本用法**:最简单的使用方式是在表单(`Ext.form.Panel`)中创建一个`Ext.form.TextField`,用于用户输入文本。例如: ```javascript var form = new Ext.form.Panel({ items: [{ xtype: 'textfield', ...

    EasyExt_003_第一个组件Ext.Window

    EasyExt_003_第一个组件Ext.Window EasyExt_003_第一个组件Ext.Window

    EXT异步提交FORM表单

    1. **初始化表单**:首先需要使用EXT创建一个表单对象,该对象将包含所有需要提交的字段。 ```javascript var form = new Ext.form.FormPanel({ id: 'myForm', url: 'yourActionUrl', method: 'POST', items...

    Ext2.0 form使用实例的例程

    1. **表单(FormPanel)**:这是Ext 2.0中的核心表单组件,它是一个容器,可以包含各种表单字段和其他组件。FormPanel提供了数据提交、验证、加载和保存的功能。 2. **表单字段(Form Fields)**:包括文本字段...

    EXT Window 通过DIV布局(源代码)

    Ext.Window 通过DIV布局,通过DIV填充window内容,带Ext所需文件。

Global site tag (gtag.js) - Google Analytics