`
taiwei.peng
  • 浏览: 235317 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Ext DataGrid 增删改查例子

    博客分类:
  • js
阅读更多
自己做的一个Ext例子,基于Struts1的,Struts2和Strut1的区别还是很大的,这里只展示下Struts1的。
Ext.onReady(function(){  
   Ext.QuickTips.init(); //显示提示信息  
   
   var store = new Ext.data.JsonStore({
    autoDestroy: true,
    autoLoad:true,
    url: 'work.do?method=dataQuery',
       totalProperty: 'results',
    root:'rows',
       fields:["workId","areaCode","workStartTime","workEndTime","deptCode","empNo","createTime","effectiveTime"]
});
  
   var sm = new Ext.grid.CheckboxSelectionModel();

   var colM=new Ext.grid.ColumnModel([
   sm,
   {header: "序号", width: 50, sortable: true, dataIndex: 'workId'},  
   {header: "区部代码", width: 100, sortable: true,  dataIndex: 'areaCode'},  
   {header: "上班时间", width: 100, sortable: true,  dataIndex: 'workStartTime'},  
    {header: "下班时间", width: 100, sortable: true,  dataIndex: 'workEndTime'},  
    {header: "配置网点", width: 100, sortable: true,  dataIndex: 'deptCode'},              
    {header: "配置人", width: 100, sortable: true,  dataIndex: 'empNo'},
    {header: "配置时间", width: 150, sortable: true,  dataIndex: 'createTime',renderer:CreateRender},
    {header: "生效日期", width: 150, sortable: true,  dataIndex: 'effectiveTime',renderer:EffectiveRender }
    ]); 
     
function CreateRender(value){  
   if(value instanceof Date){
       return new Date(value).format("Y-m-d"); 
     }else{
       return Ext.util.Format.substr(value,0,19);  
     }
    }
   
function EffectiveRender(value){  
  if(value instanceof Date){
      return new Date(value).format("Y-m-d"); 
  }else{
      return Ext.util.Format.substr(value,0,10);  
   }
}
    var tbars = [{  
            text:'添加',  
            tooltip:'添加记录',   
            handler:function(){
              postForm.getForm().reset();
              postWindow.show();
            } 
        },  
        {xtype:'tbseparator'},  
        {  
            text:'删除',  
            tooltip:'删除选中的记录',  
            handler:function(){  
            var _record = sm.getSelected();  
            if(_record){  
                Ext.Msg.confirm("是否要删除?","是否要删除这些被选择的数据?",  
                    function(btn){  
                        if(btn == "yes"){  
                           var ss = sm.getSelections();  
                           var delUrl = "work.do?method=delete&";
                           var ids="";    
                           for(var i=0; i<ss.length; i++){  
                             ids=ids+ss[i].data.workId+",";     
                           }  
                           delUrl = delUrl + "ids="+ids;
                           Ext.Ajax.request({  
                               url:delUrl,  
                               success:function(){  
                                   Ext.Msg.alert("删除信息成功","您已经成功删除信息!");  
                                   store.reload();  
                               },  
                               failure:function(){  
                                   Ext.Msg.alert('错误','服务器出现错误请稍后再试!');  
                               }  
                           });  
                        }  
                    }  
                );  
            }else{  
                Ext.Msg.alert('删除操作','您必须选择一行数据以便删除!');  
            }  
         }  
       },
       {xtype:'tbseparator'},
       {
        text:'修改',
        handler:function(){  
           postForm.getForm().reset();  
           var rows = Ext.getCmp("gridView").getSelectionModel().getSelections();  
         if(rows.length!=1){  
     Ext.Msg.alert("","请你选择一行数据进行操作!");  
      return;  
         }  
           postWindow.show(); 
           postForm.getForm().findField('workId').setValue(rows[0].get('workId'));
           postForm.getForm().findField('areaCode').setValue(rows[0].get('areaCode'));
           postForm.getForm().findField('workStartTime').setValue(rows[0].get('workStartTime')); 
           postForm.getForm().findField('workEndTime').setValue(rows[0].get('workEndTime'));
           postForm.getForm().findField('deptCode').setValue(rows[0].get('deptCode'));  
           postForm.getForm().findField('empNo').setValue(rows[0].get('empNo'));
           var effective=Ext.util.Format.substr(rows[0].get('effectiveTime'),0,10);
           postForm.getForm().findField('effectiveTime').setValue(effective);      
        }      
      }     
    ];
   
    var bar=new Ext.PagingToolbar({  
          pageSize: 20,  
          store: store,  
          displayInfo: true,  
          displayMsg: '显示第 {0} 条到 {1} 条记录,一共 {2} 条',  
          emptyMsg: "没有记录" 
    }); 
      
    var grid = new Ext.grid.GridPanel({ 
        id:'gridView',
        store: store,
        cm:colM,
        title:'上班时间信息列表',  
        renderTo:"hello",
        tbar:tbars,  
        bbar:bar,
        sm: sm,
        layout: 'fit', 
        height:650     
    });     
      
    //创建表单的窗口  
    var postForm = new Ext.form.FormPanel({  
            frame : true ,  
            defaultType : 'textfield' ,  
            buttonAlign : 'center' ,  
            labelAlign : 'right' ,  
            labelWidth : 70 , 
            width :300,   
            items: [  
                {  
                    xtype:"hidden",  
                    name:"workId" 
                },  
                {  
                    fieldLabel:"区部代码",  
                    name:"areaCode" 
               },  
               {  
                    fieldLabel:"上班时间",  
                    name:"workStartTime" 
               },  
               {  
                   fieldLabel:"下班时间",  
                    name:"workEndTime" 
               },  
               {  
                    fieldLabel:"配置网点",  
                    name:"deptCode" 
               },  
               {  
                    fieldLabel:"配置人",  
                    name:"empNo" 
               },  
               {  
                xtype: "datefield",
                format:'Y-m-d',
                    fieldLabel:"生效日期",
                    width: 120,
                height:10,    
                    name:"effectiveTime"  
               }   
            ],  
            buttons: [{  
                    xtype:'button',  
                    text: '保存',  
                    handler:function(){  
                        Ext.MessageBox.show({  
                           msg: '正在保存,请稍等...',  
                           progressText: 'Saving...',  
                           wait:true,  
                           waitConfig: {interval:200},  
                           icon:'download' 
                        });  
                        postForm.form.doAction('submit',{
                         url:"work.do?method=add",  
                         method:'post',   
                         success:function(form,action){  
                            Ext.MessageBox.hide();  
                            Ext.Msg.alert('恭喜','保存目标成功');  
                            store.reload();  
                            postWindow.hide();   
                         },  
                         failure:function(){  
                            Ext.Msg.alert('错误','服务器出现错误请稍后再试!');  
                         }  
                      });                        
                    }  
                },   
                {  
                    text: '取消',  
                    handler:function(){  
                        postWindow.hide();   
                    }  
                }]             
        });  
          
        //将表单放到一个窗口中,并显示  
        var postWindow = new Ext.Window({  
            title: "人员信息表单",  
            width: 300,    
            height:260,      
            collapsible:true,    
            maximizable:true,   
            layout: 'form',   
            plain:true,  
            modal:true, 
            closeAction: 'hide', 
            items: postForm   
        });
});

//后台java代码
//查询列表
public ActionForward dataQuery(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)
throws Exception {
try{
List<WorkTimeConfig> workList=workTimeConfigService.listAll();
String json = "{results:"+workList.size()+",rows:[";  
for(WorkTimeConfig config:workList){
   json += "{workId:" + config.getWorkId()+ ",areaCode:'"+config.getAreaCode()+ "',workStartTime:'" + config.getWorkStartTime()+ "'," + "workEndTime:'"+config.getWorkEndTime()+"',deptCode:'"+config.getDeptCode()+"',empNo:'"+config.getEmpNo()+"',createTime:'"+config.getCreateTime()+"',effectiveTime:'"+config.getEffectiveTime()+"'},";
}
json=json.substring(0,json.length()-1);
json += "]}"; 
PrintWriter pw = response.getWriter();
pw.write(json);
}catch(Exception ce){
ce.printStackTrace();
}
return null;
}
  
   //新增方法(不想使用ActionForm,字段比较少,所以就用最传统的方式)
   public ActionForward add(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
   throws Exception {
   String workId=request.getParameter("workId");
   if(null!=workId&&!"".equals(workId)){
   WorkTimeConfig workConfig=new WorkTimeConfig();
   workConfig.setWorkId(Long.parseLong(workId));
   workConfig.setAreaCode(request.getParameter("areaCode"));
   workConfig.setWorkStartTime(request.getParameter("workStartTime"));
   workConfig.setWorkEndTime(request.getParameter("workEndTime"));
   java.text.SimpleDateFormat df=new java.text.SimpleDateFormat("yyyy-MM-dd");
   workConfig.setEffectiveTime(df.parse(request.getParameter("effectiveTime"))); 
   workTimeConfigService.UpdateWorkTime(workConfig);
   }else{
   WorkTimeConfig workConfig=new WorkTimeConfig();
   workConfig.setAreaCode(request.getParameter("areaCode"));
   workConfig.setWorkStartTime(request.getParameter("workStartTime"));
   workConfig.setWorkEndTime(request.getParameter("workEndTime"));
   workConfig.setDeptCode("001");
   workConfig.setEmpNo("admin");
   java.text.SimpleDateFormat df=new java.text.SimpleDateFormat("yyyy-MM-dd");
   workConfig.setEffectiveTime(df.parse(request.getParameter("effectiveTime"))); 
   workTimeConfigService.addWorkTime(workConfig);
   }
   PrintWriter pw = response.getWriter();
   pw.write("{success:true}");
   return null;  
   }
  
   //删除方法
   public ActionForward delete(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
    throws Exception {
   String id=request.getParameter("ids");
   String [] ids=id.split(",");
   for(int i=0;i<ids.length;i++){
   workTimeConfigService.deleteWorkTime(Long.parseLong(ids[i]));
   }
   PrintWriter pw = response.getWriter();
   pw.write("{success:true}");
   return null;
  }
分享到:
评论

相关推荐

    Wpf datagrid 增删改查

    本例子是wpf中datagrid的增加修改,对于datagrid中的canuseraddrows=true,对当前空白行进行的添加数据,修改时,鼠标离开焦点可自动更新数据库,删除等等。不需要多余的界面进行添加修改等,利用datagrid的属性,...

    EasyUi DataGrid增删改查(EasyUI)示例源码

    源码示例前台套用easyui,利用ajax调用sql数据库对学生信息表进行增删改查 兼容ie,火狐和谷歌,删除在 ();"&gt;删除调用一下删除的方法即可;绝对可用,提供这方面学习和开发的朋友!

    DataGrid增删改查(EasyUI)示例

    DataGrid增删改查(EasyUI)示例源码 源码描述: 源码示例前台套用easyui,利用ajax调用sql数据库对学生信息表进行增删改查 兼容ie,火狐和谷歌,删除在 欢迎感兴趣用户下载学习

    WPF增删改查和分页功能DataGrid

    在本文中,我们将深入探讨如何在Windows Presentation Foundation (WPF) 中实现DataGrid的增删改查和分页功能。WPF是微软推出的用于构建桌面应用程序的框架,它提供了丰富的UI设计工具和强大的数据绑定机制。...

    DataGrid增删改查(EasyUI)示例源码20140505

    DataGrid增删改查(EasyUI)示例源码 源码描述: 源码示例前台套用easyui,利用ajax调用sql数据库对学生信息表进行增删改查 兼容ie,火狐和谷歌,删除在 ();"&gt;删除调用一下删除的方法即可 欢迎感兴趣用户下载学习

    ssm easyUI-datagrid增删改查jsp网页

    用于myeclipse软件下ssm框架 easyUIdatagrid增删改查

    DataGrid增删改查(EasyUI)示例源码

    EasyUI是一个基于jQuery的UI库,提供了丰富的组件,其中包括DataGrid,使得开发者能够轻松实现数据的增删改查功能。下面我们将详细探讨DataGrid在EasyUI中的应用及其相关知识点。 首先,DataGrid是EasyUI的核心组件...

    VS2010 C++ MFC DataGrid增删改查

    本文将深入探讨如何利用MFC中的DataGrid控件进行数据的增删改查操作。 首先,DataGrid控件是MFC提供的一种用户界面组件,它允许程序员创建一个表格形式的数据展示区域,方便用户查看、编辑和操作数据。在VS2010中,...

    DataGrid增删改查

    【标题】"DataGrid增删改查"涉及的是在数据展示和管理方面的一个核心组件——DataGrid的使用,尤其关注其在数据库操作中的应用。DataGrid控件是.NET框架中用于显示和编辑表格数据的强大工具,它允许用户直观地进行...

    DataGrid简单增删改查

    本篇文章将详细讲解如何利用C#语言实现DataGrid的简单增删改查功能,以便在用户管理场景中进行数据操作。 首先,我们需要创建一个User Management系统,这个系统可能包含用户的基本信息,如用户名、密码、邮箱等。...

    WPF链接数据库进行增删改查操作

    一个简单的数据库链接例子 在WPF界面上进行操作 实现对数据库数据的增删改查 适合初初初学者 高手不要下 也别喷我

    EasyUI DataGrid 增删改查源码

    EasyUI DataGrid 是一款基于jQuery的前端数据展示组件,它为Web应用提供了强大的表格操作功能,包括数据的增删改查。在这个主题中,我们将深入探讨EasyUI DataGrid的源码,理解其工作原理,以及如何在实际项目中实现...

    一行代码搞定Oracle + DataGridView的 增删改查图文教程

    本教程主要介绍如何使用C#语言,结合Oracle数据库和DataGridView控件实现数据的增删改查功能。在Visual Studio 2010 SP1环境下,我们创建一个Windows窗体应用程序,利用System.Data.OracleClient命名空间与Oracle...

    SSM+EasyUI DataGrid 实现增删改查,分页,排序

    使用SSM框架+EasyUI DataGrid数据表格实现了基本的增删改查,以及对数据分页,排序功能的实现。是一个对于后台管理的很好的例子,因为一般企业后台管理都是使用EasyUI等框架快速搭建,而且DataGrid是EasyUI最重要的...

    WPF入门增删改查

    **WPF入门增删改查**是针对初学者设计的一套教程,旨在帮助新手快速掌握Windows Presentation Foundation(WPF)的基础知识,特别是如何在WPF应用中实现数据的增、删、改、查操作。WPF是.NET Framework的一个重要...

    vb60增删改查_vb60增删改查_源码

    在VB60(Visual Basic 6.0)中进行数据库操作是常见的编程任务,主要涉及对数据的添加、删除、修改和查询,也就是所谓的“增删改查”功能。本项目“vb60增删改查_vb60增删改查_源码”提供了完整的代码示例,帮助...

    struts2+ajax+easyui+json+datagrid增删改查

    下面将详细解释这些技术及其在实现增删改查、分页和排序功能中的作用。 **Struts2** 是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,它简化了Java应用的开发,提供了处理HTTP请求、控制应用程序...

    WPF链接数据库进行增删改查操作_c# wpf sql数据库操作,wpf sql 增删改查-SQLServer代码类(txt为微云链接)

    一个简单的数据库链接例子 在WPF界面上进行操作 实现对数据库数据的增删改查 适合初初初学者 高手不要下 也别喷我

    flex增删改查例子(完整版)

    在本压缩包中,"flex增删改查例子(完整版)"是一个示例项目,旨在帮助开发者了解如何在Flex中实现数据库操作的基本功能,包括添加(Add)、删除(Delete)、修改(Update)和查询(Query)数据。 1. **Flex基础...

    Json 格式分页、Jquery easy ui 增删改查例子

    在进行增删改查操作时,EasyUI的`datagrid`组件尤其有用。它不仅可以展示数据,还支持分页、排序、过滤等功能,并且可以与后端服务器通过Ajax进行交互,实现动态加载数据。 下面是一个使用JQuery EasyUI实现增删改...

Global site tag (gtag.js) - Google Analytics