`

Grid增删改

阅读更多
var store=null;
Ext.onReady(function(){

    Ext.QuickTips.init();
Ext.form.Field.prototype.msgTarget = 'side';
//创建json存储器
    store=new Ext.data.JsonStore({
     id:'store',
     url:'userInfoCptAction.action',   //数据来源
      root: 'rows',
        autoLoad: true,
        fields:[
           {name:'userId'},
           {name:'username'},
           {name:'password'},
           {name:'age'},
           {name:'mobile'},
           {name:'address'}
         ]
      });
      store.load();   //加载数据
   
   
    // 创建表格
    var grid = new Ext.grid.GridPanel({
        store: store,
        sm: new Ext.grid.RowSelectionModel({singleSelect:false}),
        cm: new Ext.grid.ColumnModel([
         {id:'userId',header: '用户ID', width: 85, sortable: true, dataIndex: 'userId'},
         {header: '用户昵称', width: 95, sortable: true, dataIndex: 'username'},
         {header: '密码', width: 85, sortable: true, dataIndex: 'password'},
         {header: '年龄', width: 85, sortable: true, dataIndex: 'age'},
         {header: '手机号', width: 85, sortable: true, dataIndex: 'mobile'},
         {header: '地址', width: 85, sortable: true, dataIndex: 'address'}
        ]),
        stripeRows: true,
        autoExpandColumn: 'userId',
        height:350,
        width:600,
        title:'数据显示',
        bbar:[{
            text:'添加',
            tooltip:'新添一个用户',
            listeners :{'click':function(){
            var win=Ext.getCmp('win');
                 win.show();
              }
            }
        }, '-', {
            text:'修改',
            tooltip:'修改用户信息',
            listeners :{'click':function(){
            if(grid.getSelectionModel().hasSelection()){
            var records =grid.selModel.getSelections();//得到被选择的行的数组
                    var recordsLen = records.length;//得到行数组的长度
                    if( recordsLen>1){
                        Ext.Msg.alert("系统提示信息","请选择其中一项进行编辑!");}//一次只给编辑一行
                    else{
                    var record=grid.getSelectionModel().getSelected();//获取选择的记录集
                    var userId=record.get("userId");
                    var win=Ext.getCmp('win');
                        win.show();
                   //查询该用户数据
                   UserInfoCptDwr.selectByUserId(userId,function(msg){
                 DWRUtil.setValues(msg);
                 win.getComponent('form').getComponent('userId').setDisabled(true);
              });
                    }

            }else{
            Ext.Msg.alert("提示","请先选择要编辑的行!");
            }
              }
            }
         
        },'-',{
            text:'删除',
            tooltip:'删除一个或多个用户',
            listeners :{'click':function(){
            if(grid.getSelectionModel().hasSelection()){
            var records =grid.selModel.getSelections();//得到被选择的行的数组
                    var recordsLen = records.length;//得到行数组的长度
                    var myUserId=Ext.get("myUserId").getValue();
                    for(var i=0;i<recordsLen;i++){
                    if(records[i].get("userId")===myUserId){
                    Ext.Msg.alert("提示","你不能删除自己!");
                    return;
                    }
                    }
                   
                    for(var i=0;i<recordsLen;i++){
                      //删除该用户
                      UserInfoCptDwr.deleteUserByUserId(records[i].get("userId"),function(){
                      store.reload();
                      });
                    }  
            }else{
            Ext.Msg.alert("提示","请先选择要删除的行!");
            }

            }}  
        }]
       
    });

    grid.render('grid-example');
});





Ext.onReady(function(){
  Ext.QuickTips.init();  //初始化提示信息
      Ext.form.Field.prototype.msgTarget = 'side';  //提示信息显示位子
        //创建表单
       var simple = new Ext.FormPanel({
            id:'form',
            labelWidth: 75, 
            width:300,       
            defaults: {width: 150},
            defaultType: 'textfield',//默认字段类型
           
            //定义表单元素
            items: [{
                  fieldLabel: '用户ID',
                  id:'userId',
                  name: 'userId',//元素名
                  allowBlank:false,  //不允许为空
                  listeners :{'blur':function(){
                var userId=$("userId").value;
                //判断是否存在该用户ID
                  UserInfoCptDwr.ifExistTheUserId(userId,function(msg){
                  if(msg===false){
                  Ext.getCmp('userId').markInvalid("此用户ID已经被占用!");
                  }
                  });
                   }
                  }
               },{
                  inputType:'password',
                  fieldLabel: '密码',
                  name: 'password',
                  allowBlank:false
               },{
                  fieldLabel: '用户昵称',
                  id:'username',
                  name: 'username',//元素名
                  allowBlank:false , //不允许为空
                  listeners:{'blur':function(){
                  var username=$("username").value;
                  //判断该用户昵称是否存在
                  UserInfoCptDwr.ifExistTheUserName(username,function(msg){
                  if(msg===false){
                  Ext.getCmp('username').markInvalid("此昵称已经被占用!");
                  }
                  });
                  
                    }
                  }
               },{
                 fieldLabel: '用户年龄',
                 name: 'age',
                 regex :new RegExp('^[0-9]+$'),
                 regexText :'你输入的年龄不正确'
               },{
                 fieldLabel: '手机号',
                   name: 'mobile',
                   regex :new RegExp('^[0-9]{11}$'),
                   regexText :'你输入的手机号不正确'
               },{
                 fieldLabel: '地址',
                   name: 'address'
               }
            ],

            buttons: [{
               text: '执行',
               type: 'submit',
               handler:function(){
                 if(simple.form.isValid()){
                 var cpt={userId:null,username:null,password:null,age:null,mobile:null,address:null};
                 DWRUtil.getValues(cpt);
                 //保存或更新表单
                 UserInfoCptDwr.saveOrUpdate(cpt,function(msg){
                 if(msg===true){
                 Ext.Msg.alert("系统提示!","执行成功!");
                     simple.form.reset();
                     store.reload();
                 }else{
                 Ext.Msg.alert("警告!","无法执行该操作!");
                 }
                
                     });
                 }
                                    
               }
            },{
               text: '重置',
               handler:function(){
               simple.form.reset();  //重置表单
               }
            }]
         });  
    //创建窗口
    new Ext.Window({
    id:"win",
        x:500,
        closeAction:'hide',
            plain: true,
            height:220,
            width :320,
            autoScroll :true,
            draggable :true,
        items:Ext.getCmp('form'),
        listeners:{'hide':function(){
        Ext.getCmp('form').form.reset();
        Ext.getCmp('form').getComponent('userId').enable();
          }
        }
        });
});
分享到:
评论

相关推荐

    901_Grid增删改

    标题“901_Grid增删改”提示我们讨论的核心是关于数据网格的增删改功能,这通常在开发用户界面,尤其是数据密集型应用时遇到。数据网格是一种UI控件,用于显示和操作多行多列的数据。在这个场景中,我们可能在探讨...

    c#Form窗体增删改操作

    本教程将深入探讨如何在C#窗体模式下使用封装的方式对表格内容进行增删改操作,这对于初学者来说是一份很好的学习资源。教程中包含了一个数据库文件和详细的使用说明,确保你可以顺利地理解和应用这些概念。 首先,...

    自定义可增删改的grid表

    `自定义可增删改的grid表`是用于高效地展示大量结构化数据,并允许用户进行添加、删除和修改操作的一种常见交互方式。Flex是一款强大的开发工具,主要用于构建富互联网应用程序(RIA),其自带的DataGrid组件为...

    DevExpress.XtraGrid.GridControl常用功能(增删改)

    DevExpress.XtraGrid.GridControl常用功能(增删改) DevExpress.XtraGrid.GridControl是一款功能强大的网格控件,提供了多种功能和组件,以满足不同的需求。在这里,我们将详细介绍GridControl常用的功能,包括获取...

    DevExpress.12.1 gridControl 动态添加行

    DevExpress.XtraGrid.Views.Grid.GridView gridView = gridControl.MainView as DevExpress.XtraGrid.Views.Grid.GridView; int newRowHandle = gridView.AddNewRow(); ``` `newRowHandle`是新行的句柄,可以...

    Ext+ssh+sybase增删改

    在"增删改"操作中,EXTJS的Grid Panel组件可以用于显示数据,并通过Editor Grid插件实现对数据的编辑。增、删、改操作通常通过EXTJS的API与后台服务器进行交互,例如使用Store对象的`add()`, `remove()`, `update()`...

    Ext.net后台分页增删改

    在"Ext.NET后台分页增删改"这个主题中,我们将探讨如何利用Ext.NET实现数据库后台分页、树形视图操作以及Grid面板的CRUD(创建、读取、更新和删除)功能。 首先,让我们深入了解一下后台分页。在Ext.NET中,为了...

    Angularjs(增删改+分页+弹框+Sql数据库)

    这个"Angularjs(增删改+分页+弹框+Sql数据库)"的项目是针对初学者设计的一个示例,旨在帮助他们理解和掌握AngularJS的核心概念以及如何与其他技术(如分页插件、SQL数据库)集成。 在AngularJS中,"增删改"操作是...

    多表格固定列,实现动态增删改

    "多表格固定列,实现动态增删改"这个主题涉及到的是如何使用前端技术来实现对表格数据的高效操作,特别是固定列、动态添加、删除和修改功能。下面我们将深入探讨这一话题。 首先,固定列在网页表格中非常实用,因为...

    js对表格数据的增删改

    在JavaScript中,表格数据的增删改操作是Web开发中常见的需求,特别是在处理用户交互和数据展示时。本文将深入探讨如何使用JavaScript有效地管理HTML表格中的数据。 首先,我们需要了解HTML表格的基本结构,它由`...

    ASP NET C# 纯代码实现GridView绑定增删改

    ### ASP.NET C#纯代码实现GridView绑定增删改 在ASP.NET Web应用程序中,`GridView`控件是一种非常强大的工具,用于展示数据记录,并且能够方便地进行排序、分页等操作。本篇将详细介绍如何使用ASP.NET C#通过纯...

    Dorado7实现部门以及部门下员工信息增删改

    在这个场景中,我们讨论的是如何利用Dorado7实现部门及部门下员工信息的增删改功能,同时与MySQL数据库进行交互。 首先,我们需要理解数据库的基础架构。Mysql是一个广泛使用的开源关系型数据库管理系统(RDBMS),...

    extJs 简单的增删改查

    2. **创建存储(Store)**:存储数据,并与模型关联,处理数据的加载、增删改操作。 ```javascript var store = Ext.create('Ext.data.Store', { model: 'User', data: [{ id: 1, name: 'Alice', email: 'alice@...

    Extjs4 grid使用例子

    总结来说,"Extjs4 grid使用例子"是一个实践教程,展示了如何在MVC架构下利用ExtJS4的Grid组件处理数据,实现数据的增删改功能。通过这个例子,开发者可以学习到MVC的设计理念,以及如何有效利用Grid组件提升Web应用...

    c# PropertyGrid中复杂类型自定义显示

    在C#编程中,`PropertyGrid`控件是一个强大的工具,用于显示和编辑对象的属性。它自动将对象的公共属性、字段和枚举值显示为网格形式,方便用户进行交互。然而,当处理复杂类型的数据,如集合或自定义类时,`...

    smartGwt 树(tree) 增删改

    本篇将深入探讨如何在SmartGWT中实现树(Tree)的增删改功能。 首先,了解SmartGWT中的树结构。在SmartGWT中,树是通过`TreeGrid`类实现的,它继承自`Grid`类,提供了树状视图的功能。`TreeGrid`不仅能够展示层次...

    GridControl使用以及增删查改操作

    本教程将详细讲解GridControl的基础使用,包括如何进行增删查改等核心操作,以帮助开发者更好地理解和应用。 首先,GridControl是一种强大的数据网格控件,通常用于C#开发中的数据展示,它允许用户以表格形式查看、...

    27款后台管理页面设计 DIV CSS

    Div元素和CSS可以轻松实现这些布局,例如通过Flexbox或Grid布局,可以灵活地调整元素的位置和大小。 4. **响应式设计**:随着移动设备的普及,后台管理页面也需要适应各种屏幕尺寸。使用媒体查询(Media Queries)...

    封装Ext.grid.Grid+dwr实现增删该查

    对于增删改操作,通常需要刷新整个数据集,确保Grid显示最新的状态。 6. **异常处理**:为了提高用户体验,需要处理可能出现的异常情况,如网络错误、服务器错误等,提供友好的错误提示。 在给定的压缩包中,包含...

    extjs+servlet的增删改操作,绝对能跑起来!!!

    在"extjs+servlet的增删改操作"中,我们将探讨如何结合这两者实现数据的CRUD(Create、Read、Update、Delete)操作。 1. **ExtJS CRUD操作**: - **创建(Create)**:在ExtJS中,我们通常使用`Ext.data.Model`...

Global site tag (gtag.js) - Google Analytics