`
rikugun
  • 浏览: 345447 次
  • 性别: Icon_minigender_1
  • 来自: 南宁
社区版块
存档分类
最新评论

jqGrid 表格demo

    博客分类:
  • Js
阅读更多
跟原來那個flexgrid的類似,改了一些後台代碼
09-02-13 更新:
感谢tufei2006同学分享的一个demo演示 猛击这里

12.3 更新:
有群众反映jqgrid的库下不回来,我在这里贴一下吧.还有我没写过这个jsp例子.不过基本上大同小异.都是用json数据交换的.






list.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>会员管理</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <link rel="stylesheet" type="text/css" media="screen" href="../resources/js/jqGrid/themes/basic/grid.css" />
    <link rel="stylesheet" type="text/css" media="screen" href="../resources/js/jqGrid/themes/jqModal.css" />
    <script src="../resources/js/jquery.js" type="text/javascript"></script>
    <script src="../resources/js/jqGrid/jquery.jqGrid.js" type="text/javascript"></script>
    <script src="../resources/js/jqGrid/js/jqModal.js" type="text/javascript"></script>
    <script src="../resources/js/jqGrid/js/jqDnR.js" type="text/javascript"></script>
    <script type="text/javascript" src="../resources/js/manage_user.js"></script>
    <style>
    </style>
  </head>
  <body>
    <table id="grid" class="scroll"></table>
    <div id="nav" class="scroll"></div>
  </body>
</html>


manage_user.js

var lastsel2=0;
$(function(){
    $('#grid').jqGrid({
        height:400,
        url:'?module=user&act=list&isajax=1',
        datatype: 'json',
        mtype: 'POST',
        colNames:['ID','用户名','密码','真实姓名','联系电话', 'Email'],
        colModel :[
        {
            name:'id',
            index:'id',
            width:50
        },
        {
            name:'UserName',
            index:'UserName',
            editable:true,
            editrules:{
                required:true
            }
        },
        {
            name:'PassWord',
            index:'PassWord',
            editable:true,
            edittype:'password',
            hidden:true,
            editoptions:{
                size:20
            },
            editrules:{
                edithidden:true
            }
        },
        {
            name:'LinkMan',
            index:'LinkMan',
            editable:true,
            editrules:{
                required:true
            }
        },

        {
            name:'OperateTel',
            index:'OperateTel',
            align:'right',
            editable:true,
            editrules:{
                required:true
            }
        },

        {
            name:'Email',
            index:'Email',
            align:'right',
            editable:true,
            editrules:{
                required:true
            }
        } ],
        pager: 'nav',
        rowNum:10,
        rowList:[10,20,30],
        sortname: 'MemberID',
        sortorder: "desc",
        viewrecords: true,
        imgpath: '../resources/js/jqGrid/themes/basic/images',
        caption: '用户管理',
        //        multikey:'ctrlKey',
        multiselect:true,
        
        editurl:'?module=user&act=Update'

    });

    //定义按键
    $('#grid').navGrid('#nav',{
        refresh: true,
        edit: true,
        add: true,
        del: true,
        search: true
    });


});



user.php

function  onList(){
        $in     = &$this->in;
        $tpl     = &$this->tpl;
        $dataset = &$this->objDataSet;
        $isAjax = $in['isajax'];
        if($isAjax){
        $page = $_POST['page'];
        $rp = $_POST['rows'];
        $sortname = $_POST['sidx'];
        $sortorder = $_POST['sord'];
        $q=$in['searchField'];
        $opr=$in['searchOper'];
        $q_val=$in['searchString'];
        if (!$sortname) $sortname = 'MemberID';
        if (!$sortorder) $sortorder = 'desc';

        $sort = "ORDER BY $sortname $sortorder";

        if (!$page) $page = 1;
        if (!$rp) $rp = 10;

        $start = (($page-1) * $rp);

        $limit = "LIMIT $start, $rp ";

        $sql="select MemberID,UserName,'' as PassWord,LinkMan,OperateTel,Email from user $sort";

        $total=$dataset->runSql("select count(*) as total from user");
        $total=(int)$total['total'];

        $result=$dataset->getLista($sql,$rp,$start);
        //        $this->fp->fb($result);
        $ret="{'page':'$page','total':'".ceil($total/$rp)."','records':'$total','rows':[";
        if (!empty($result)) {


        foreach($result as $key=>$row){
            if($key>0)$ret.=",";
            $ret.="{'id':'".$row[MemberID]."',";
            $ret.="'cell':[";
            $i=0;
            foreach($row as $k=>$val){
                if($i)$ret.=",";
                $ret.="'".$val."'";
                $i++;
            }
            $ret.="]}";
        }}
        $ret.="]}";
        
            $tpl->assign('ret',$ret);
            $tpl->display('./rep.json');
        }else{
            //            $tpl->assign('entities',$result);
            $tpl->display(SKIN_FILE.'user/list.html');
        }
    }
    function onUpdate(){
        $in=&$this->in;
        
        if ($in['oper']=='del') {
            $this->onDelete((int)$in['id']);
         
        }else{
           $this->onInsertOrUpdate($in['oper']);
        }
        
    }
    //会员添加
    function onInsertOrUpdate($_act='add'){
        $in      = &$this->in;
        $tpl     = &$this->tpl;
        $dataset = &$this->objDataSet;

        $data = array(
            Email          => trim($in[Email]),
            OperateTel     => trim($in[OperateTel]),
            LinkMan        => trim($in[LinkMan])
        );
        if (!empty($in['PassWord'])) {
           $data['PassWord']=md5(trim($in['PassWord']));
        }
        if($_act=='edit'){
            $MemberID = $dataset->update($data,"MemberID=".(int)$in['id'],"user");
        }else{
            $data['UserName']=$in['UserName'];
            $data['CreateTime']=time();
            $MemberID = $dataset->insert($data,"user");
        }

        $ret=json_encode(array('succees'=>true,'msg'=>'更新成功!'));
        $tpl->assign('ret',$ret);
        $tpl->display('./rep.json');
    }

    function onDelete($_id=0){
        $in = &$this->in;
        $tpl = &$this->tpl;
        $dataset = &$this->objDataSet;
        if ($_id==0) {
            $_id=(int)$in['MemberID'];
        }
        $dataset->delete("MemberID in(0,".$_id.")",'user');
        $ret=json_encode(array('succees'=>true,'msg'=>'删除成功!'));
        $tpl->assign('ret',$ret);
        $tpl->display('./rep.json');
    }
  • 大小: 51.1 KB
  • 大小: 61.9 KB
11
0
分享到:
评论
15 楼 sw970345363 2016-09-21  
[b][/b]
14 楼 yangjun6222010 2011-12-16  
   学习了。
13 楼 wm8466 2009-08-26  
请问下 修改信息怎么写啊 !
12 楼 rikugun 2009-06-04  
xiuying 写道

jqGrid 不支持的属性或对象,是怎么回事??



jquery的运行库加载了么? 你用firebug看看是哪一段出问题了,还有

jquery.jqGrid.js的

function jqGridInclude()
{
    var pathtojsfiles = "js/"; // need to be ajusted
    // set include to false if you do not want some modules to be included
    var combineIntoOne = false; 
......


这里的 var pathtojsfiles = "js/" 需要手动设置一下才行,这个是 jGrid目录下的那个js目录的路径,

我这里设置的是相对目录
11 楼 xiuying 2009-06-04  
jqGrid 不支持的属性或对象,是怎么回事??
10 楼 ctfzh 2009-03-10  
又不是jsp的例子,哎
9 楼 workman93 2009-02-27  
感谢,感谢。正下载不了呢。就找到这里了。
8 楼 rikugun 2008-11-28  
我的郵箱 v5.rikugun[at]gmail.com
7 楼 wanglidhx 2008-11-28  
rikugun 写道

wanglidhx 写道
看到你的例子真是太激动了,我正在使用jqquery 但在使用formediting出问题了,总是说对象不支持次属性和方法,而且用你navgrid函数也抱错,不是到你用的jqquery是什么版本的,能否发给我一份,经不胜感激wow,我用的是jqeury1.2.6 官網下的,jqgrid也是官网的


我也是用的这个版本,使用jsp,能否把我的jsp发给帮我看看,web服务器用tomcat5.5.12
6 楼 rikugun 2008-11-28  
wanglidhx 写道

看到你的例子真是太激动了,我正在使用jqquery 但在使用formediting出问题了,总是说对象不支持次属性和方法,而且用你navgrid函数也抱错,不是到你用的jqquery是什么版本的,能否发给我一份,经不胜感激

wow,我用的是jqeury1.2.6 官網下的,jqgrid也是官网的
5 楼 wanglidhx 2008-11-27  
看到你的例子真是太激动了,我正在使用jqquery 但在使用formediting出问题了,总是说对象不支持次属性和方法,而且用你navgrid函数也抱错,不是到你用的jqquery是什么版本的,能否发给我一份,经不胜感激
4 楼 rikugun 2008-11-25  
插入记录后会刷新一下数据的
3 楼 supercode 2008-11-23  
相当的不错
当在服务端插入记录后,只是返回了success,msg,没有返回ID
插入成功后,客户端的jqGrid会找到当前记录的最大ID+1后来新增的记录,显示这是不太合理的。不知jqGrid是怎么解决的
2 楼 rikugun 2008-11-20  
后端基本上都一样的吧,jsp的还没谢过 不好意思
1 楼 Jellee 2008-11-20  
可以共享一下jqGrid的jsp例子吗?

相关推荐

    jqGrid4.6.0 jqgrid_demo40

    jquery.jqGrid-4.6.0(jquery表格插件).zip----------jqGrid4.6.0包,官网下载的,原封不动的在这里。 jqgrid_demo40-----可用的-使用方法请查看README文件.rar-----------经我修改过的demo40,官网上面demo40下载...

    jqgrid表格

    jqgrid表格,单元格合并,并显示,demo版本

    jqGrid4.8.2 jqgrid_demo40

    jquery.jqGrid-4.8.2(jquery表格插件).zip----------jqGrid4.8.2包,官网下载的,原封不动的在这里。 jqgrid_demo40-----可用的-使用方法请查看README文件. jqgrid_3.6.5_API_en.chm------附加放在这里的其它资料...

    jqGrid 3.5源码+DEMO+DOC

    好用的jquery表格插件jqGrid。 本压缩包含源码和DEMO,还有一个3.4的DOC。

    jqGrid demo (完整版)

    一款完整版的jqGrid Demo ,对网站编程的朋友帮助很大 。可以简单实现PHP 与表格之间的运作,也可改编实现Jsp。

    Jquery表格插件jqGrid 4.3.0及其Demo

    JqGrid是一款功能强大的Jquery表格控件,支持排序,分组,分页,行内编辑,表格树,行内表格等多种功能,该版本为官方最新版,附带Demo

    jqGrid表格插件学习(一) 第一个Demo

    NULL 博文链接:https://lkf009.iteye.com/blog/1707013

    jqgriddemo,样式漂亮,可以直接使用

    jqgriddemo,样式漂亮,可以直接使用,满足多种复杂的前端表格操作功能,有需要的小伙伴可以学习学习

    jqgrid 表格插件 CURD操作完整例子

    主要参考www helloweba com 作者:月光光 qGrid表格应用 读取与查询数据 还有其他网上作者无私奉献心得 鄙视官方jqgrid Demo 修改了代码中的错误 增加了编辑功能 和jqueryUI 日历datepicker插件

    jqGrid的自适应表格

    jqGrid是基于jquery的一个表格插件,demo中可自适应窗口大小,且单元格数据较多时,可单行显示

    jqGridDemo

    jqGrid 是一个用来显示网格数据的jQuery插件,通过使用jqGrid可以轻松实现前端页面与后台数据的ajax异步通信。文档比较全面,其官方网址为...本demo是用asp.net语言进行开发的,包括基本的表格嵌套,表格增删改查等案例

    jqgriddemo.zip

    jqgriddemo各种表格应用示例,版本:5。0,jqgrid 文档离线demo打包. 下载 本地可架设运行

    jqGrid表格底部汇总、合计行footerrow处理

    然后再看个DEMO,看看jqGrid表格底部汇总、合计行到底如何实现。 1、user-guide关于jqGrid合计行的说明 1)表格配置:footerrow, boolean, 默认false If set to true this will place a footer table with one row ...

    jqGrid实例下载(数据交互,统计,时间插件都已实现)

    jqGrid实例下载(数据交互,统计,时间插件都已实现)

    jqgriddemo5.2.0

    jquery3.1.1+jqgriddemo5.2.0最新版本的表格控件。带隐藏列与自定义按钮事件这分花的绝对值,本人其他资源也是好资源哟

    jqGrid(jqueryGrid表格操作demo)

    jquery的 表格操作demo,程序是vs2010的,类似excel表格操作数据的话,还是很有用的,简单实用强大。

    jqgrid demo

    推荐使用jqgrid表格插件,支持单元格合并,filter 过滤,基于jquery 开发,简单易用,数据源支持 xml,json 文件以及 js data

    jqGrid4.3.2 及其相关的demo

    JqGrid是一款功能强大的表格控件,支持排序,分组,分页,行内编辑,表格树,行内表格等多种功能. 基础平台在此基础上对其进行了进一步的封装及扩展.使得其更简单.更好用.

Global site tag (gtag.js) - Google Analytics