jQuery MiniUI

标题: grid 获取行对象问题 [打印本页]

作者: gry    时间: 2013-7-29 11:32:33     标题: grid 获取行对象问题

getRow ( index )获取行对象    是通过索引来获取某行对象


   那么,如何不通过索引来获取grid所有的行对象,getRow没有索引参数,貌似报错!

作者: felt    时间: 2013-7-29 11:35:57

getData()
作者: gry    时间: 2013-7-29 12:55:41

felt 发表于 2013-7-29 11:35
getData()

getData()获取的是grid的数据吧

行对象的属性没有啊,没法操作啊!
作者: felt    时间: 2013-7-29 13:25:27

getData()获取的是grid的数据吧

getData()是获取当前页所有行。
你不是要获取grid所有的行吗?

作者: gry    时间: 2013-7-29 14:05:45

felt 发表于 2013-7-29 13:25
getData()是获取当前页所有行。
你不是要获取grid所有的行吗?

grid的所有”行对象“
作者: felt    时间: 2013-7-29 14:30:35

grid的所有”行对象“

你到底是是要根据什么来获取行?
getData()获取的是包含当前页面所有行对象的一个数组。

作者: gry    时间: 2013-7-29 16:17:03

本帖最后由 gry 于 2013-7-29 16:20 编辑
felt 发表于 2013-7-29 14:30
你到底是是要根据什么来获取行?
getData()获取的是包含当前页面所有行对象的一个数组。
...

我的想法是获取grid的所有“行对象”当然每一行的行对象包含每行的数据,应该是一个数组,
我想循环行对象数组,通过每行的 x.field == "剩余数量"来动态改变每一行某一个单元格的值,这样说明白吗?
如果用getData(),获取的数据数组是没有类似于 x.field 的属性的。怎么来判断确定要更新的单元格。
      
1.又发现一个问题就是用grid的“drawcell”单元格绘制事件,发现
var obj;
var row = e.row;
var record = e.record;
        for (var i = 0, l = Genders.length; i < l; i++) {
            var g = Genders;
            if (g.id == e.value) return g.text;
        }
        return "";
        if (e.field == "配送台数") {

            //异步请求跟新配送数量和剩余数量
            $.ajax({
                url: "../RXJ/PSJH_Data.aspx?method=Update_SYSL&ND=" + row.ND号,
                async: false,
                // data: { LCID: mini.get("LCID").getValue(), SHBZ: "SB" },
                type: "post",
                success: function(text) {

                    obj = mini.decode(text);
                },
                error: function() {
                }
            });
      dept_grid.updateRow(record, { 配送台数: obj.配送台数 });

发现出现死循环现象,不知是怎么回事
其实我的需求就是在grid绑定后,根据一个主键去数据库查询一个数据,然后更新每一行的某一个单元格的值,试了好多种方法都不行啊。

作者: gry    时间: 2013-7-29 16:43:07

gry 发表于 2013-7-29 16:17
我的想法是获取grid的所有“行对象”当然每一行的行对象包含每行的数据,应该是一个数组,
我想循环行对象 ...

请问该怎么实现!!!
作者: factory    时间: 2013-7-29 17:24:48

gry 发表于 2013-7-29 16:43
请问该怎么实现!!!

1. row里面是没有field的,你具体的更改某一个单元格的值,是根据什么来确定这个某个单元格是哪一个的?看看能不能换个方式,如果field已知的话,比如field已知为name,row.name 就行了

2.ondrawcell内部不能用updateRow(),因为updateRow()也会激发你的ondrawcell,当然会造成死循环了

e.cellHtml = '张三';
e.row.name = '张三';
这样来修改
作者: gry    时间: 2013-7-29 18:01:07

本帖最后由 gry 于 2013-7-30 08:39 编辑
factory 发表于 2013-7-29 17:24
1. row里面是没有field的,你具体的更改某一个单元格的值,是根据什么来确定这个某个单元格是哪一个的? ...

你说的我也测试了,不报错,但是单元格的值依旧没有改变  

e.cellHtml = '张三';
e.row.name = '张三';
不知你们测试后是可以的吗?请管理员看看我的问题!


作者: gry    时间: 2013-7-30 09:14:41

gry 发表于 2013-7-29 18:01
你说的我也测试了,不报错,但是单元格的值依旧没有改变  

e.cellHtml = '张三';

自己顶起,我的问题该如何解决呢?
作者: factory    时间: 2013-7-30 09:16:06

gry 发表于 2013-7-29 18:01
你说的我也测试了,不报错,但是单元格的值依旧没有改变  

e.cellHtml = '张三';

http://www.miniui.com/demo/#src=datagrid/drawcell2.html

demo就有,只不过这个demo只修改了e.cellHtml.
没有修改row.field的值,不过是一样的。单元格显示靠e.cellHtml,数据修改靠row.field = xxx
作者: gry    时间: 2013-7-30 09:59:03

factory 发表于 2013-7-30 09:16
http://www.miniui.com/demo/#src=datagrid/drawcell2.html

demo就有,只不过这个demo只修改了e.cellHtm ...

解决了,e.cellHtml  我“H”小写了,所以没效果。郁闷啊!
作者: factory    时间: 2013-7-30 10:50:20

gry 发表于 2013-7-30 09:59
解决了,e.cellHtml  我“H”小写了,所以没效果。郁闷啊!

恩,注意大小写,miniui的规范一般是驼峰式的,就是首字母小写,然后后面的每个单词的首字母大写,其他都小写
作者: gry    时间: 2013-7-31 00:29:01

factory 发表于 2013-7-30 10:50
恩,注意大小写,miniui的规范一般是驼峰式的,就是首字母小写,然后后面的每个单词的首字母大写,其他都 ...

明白了,以后一定注意,要不太浪费时间!




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