jQuery MiniUI

标题: 关于cellEditor [打印本页]

作者: liyang1987ly    时间: 2012-6-20 23:31:35     标题: 关于cellEditor

本帖最后由 liyang1987ly 于 2012-6-20 23:35 编辑

<%@ page language="java" contentType="text/html; charset=UTF-8"
        pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<link href="miniui/css/demo.css" rel="stylesheet" type="text/css" />
<script src="miniui/scripts/jquery-1.6.2.min.js" type="text/javascript"></script>
<script src="miniui/scripts/miniui/miniui.js" type="text/javascript"></script>
<link href="miniui/scripts/miniui/themes/default/miniui.css"
        rel="stylesheet" type="text/css" />
<link href="miniui/scripts/miniui/themes/icon.css" rel="stylesheet"
        type="text/css" />
<!--<link href="scripts/miniui/themes/blue/skin.css" rel="stylesheet" type="text/css" />-->
<link href="miniui/scripts/miniui/themes/icons.css" rel="stylesheet"
        type="text/css" />
</head>
<body>
        <h1>CRUD</h1>

        <div style="padding-top:5px;padding-bottom:5px;">

                <input type="button" value="Add" /> <input
                        type="button" value="Remove" /> <input
                        type="button" value="Save"
                        style="margin-left:100px;" />

        </div>
        <div id="datagrid1" class="mini-datagrid"
                style="width:800px;height:280px;"
                url="user/getUserAll.do" idField="userId"
                 allowResize="true" pageSize="10"
        allowCellEdit="true" allowCellSelect="true" multiSelect="true" resultAsData="true">
                <div property="columns">
                        <div type="checkcolumn"></div>
                        <div field="userName" width="120" headerAlign="center"
                                allowSort="true">
                                用户名 <input property="editor" class="mini-textbox"
                                        style="width:100%;" />
                        </div>
                        <div field="loginName" width="120" headerAlign="center"
                                align="center" allowSort="true">登陆名称
                                <input property="editor" class="mini-textbox"
                                        style="width:100%;" /></div>
                        <div field="loginPass" width="100"
                                align="center" headerAlign="center">登陆密码
                                <input property="editor" class="mini-textbox"
                                        style="width:100%;" /></div>
                        <div field="autValue" width="100" renderer="onGenderRenderer"
                                allowSort="true" headerAlign="center" align="center">用户角色
                                <input property="editor" class="mini-combobox" style="width:100%;" data="userRight"/></div>
                </div>
        </div>




        <script type="text/javascript">
                mini.parse();

                var grid = mini.get("datagrid1");
                grid.load();

                ///////////////////////////////////////////////////////      
                var userRight = [ {
                        id : 0,
                        text : '管理员'
                }, {
                        id : 1,
                        text : '普通用户'
                } ];
                function onGenderRenderer(e) {
                        for ( var i = 0, l = userRight.length; i < l; i++) {
                                var g = userRight;
                                if (g.id == e.value)
                                        return g.text;
                        }
                        return "";
                }

                //////////////////////////////////////////////////////
                function addRow() {
                        var newRow = {
                                name : "New Row"
                        };
                        grid.addRow(newRow, 0);
                }
                function removeRow() {
                        var rows = grid.getSelecteds();
                        if (rows.length > 0) {
                                grid.removeRows(rows, true);
                        }
                }
                function saveData() {
                        var data = grid.getChanges();
                        var json = mini.encode(data);
                        grid.loading("保存中,请稍后......");
                        $.ajax({
                                url : "../data/AjaxService.aspx?method=SaveChangedEmployees",
                                data : {
                                        data : json
                                },
                                type : "post",
                                success : function(text) {
                                        grid.reload();
                                },
                                error : function(jqXHR, textStatus, errorThrown) {
                                        alert(jqXHR.responseText);
                                }
                        });
                }
        </script>

        <div class="description">
                <h3>Description</h3>

        </div>
</body>
</html>

为什么单元格不能编辑 我是把官方的代码复制 重新修改的 跟官方的一样啊
而且没有 那个总的记录数 我返回了 map.put("total", list.size())



作者: niko    时间: 2012-6-21 09:26:42

下载最新版本
作者: liyang1987ly    时间: 2012-6-21 13:22:50

niko 发表于 2012-6-21 09:26
下载最新版本

最新版本没有问题 但是有个问题是 我数据库中 只有14条 我返回的map.put("data",list) map.put("total",list.size()) 但是在页面显示的是 总24条 为什么加了10条 我的前台设置的pageSize="10" 还有就是我也的前台也分页了 按道理14条 一页显示10条记录 应该是两页 但是下面显示的是1/3 而且 第一页还是14条不是10条 我点击跳转到下一页还是那14条
作者: liyang1987ly    时间: 2012-6-21 16:45:17

liyang1987ly 发表于 2012-6-21 13:22
最新版本没有问题 但是有个问题是 我数据库中 只有14条 我返回的map.put("data",list) map.put("total",l ...

以上的问题解决了 但是有个问题 我编辑一个 单元格的时候 我怎么获取那个文本框的值 你们现在是:
  var data = grid.getChanges();
   var json = mini.encode(data);
而且那个userId没有取到
alert(json)后显示的是那个附件那样的格式 但是我想用这种格式的{"userName":"222","loginName":"111","loginPass":"222","autValue":"1"}
jius就是你们定义的那样的格式不用 用这样的怎么获取啊 我用data.userName是undifinded

作者: niko    时间: 2012-6-21 16:49:29

grid.commitEdit();
之后,grid.getChanges();
就可以获得新增、删除、修改的数据
作者: liyang1987ly    时间: 2012-6-21 17:24:27

niko 发表于 2012-6-21 16:49
grid.commitEdit();
之后,grid.getChanges();
就可以获得新增、删除、修改的数据

这样就可以获取每一个单元格的值
作者: liyang1987ly    时间: 2012-6-21 17:31:09

liyang1987ly 发表于 2012-6-21 17:24
这样就可以获取每一个单元格的值

var d = grid.grid.commitEdit();
var data  = grid.getChanges();
alert(data.loginName);
然后可以获得那个loginName的值吗?
作者: niko    时间: 2012-6-21 18:56:25

data是个数组
data[0].loginName
作者: liyang1987ly    时间: 2012-6-21 21:28:26

niko 发表于 2012-6-21 18:56
data是个数组
data[0].loginName

那这个有什么用啊 grid.commitEdit();




欢迎光临 jQuery MiniUI (http://miniui.com/discuss/) Powered by Discuz! X2