jQuery MiniUI

标题: 关于获取datagrid列中的控件 [打印本页]

作者: lxbjxy    时间: 2014-3-20 14:20:41     标题: 关于获取datagrid列中的控件

请问下,怎么获取datagrid编辑状态中的控件,例如代码:

<div field="comName" displayfield="comName" allowsort="true" width="100%">
                                供应商名称
                                <input id="autoCpcomId" property="editor" class="mini-autocomplete" required="true"
                                    name="name" valuefield="comId" textfield="name" keyfield="comId" url="../../MMIS/MmiscCompany/GetMmiscCompanyName.aspx" />
                            </div>

我想获取autoCpcomId中的值要怎么获取?

作者: felt    时间: 2014-3-20 14:33:50

datagrid的编辑器是在编辑的时候才创建的
你要获取什么值?
作者: lxbjxy    时间: 2014-3-20 14:42:49

felt 发表于 2014-3-20 14:33
datagrid的编辑器是在编辑的时候才创建的
你要获取什么值?

我的目的是在编辑的时候,获取autoCpcomId这个控件的值
作者: lost    时间: 2014-3-20 15:12:57

lxbjxy 发表于 2014-3-20 14:42
我的目的是在编辑的时候,获取autoCpcomId这个控件的值

var rows = grid.getData();
           for (var i = 0, l = rows.length; i < l; i++) {
               var row = rows;
               alert(row.comName);
           }
作者: lxbjxy    时间: 2014-3-20 15:43:49

lost 发表于 2014-3-20 15:12
var rows = grid.getData();
           for (var i = 0, l = rows.length; i < l; i++) {
              ...

我想获得的是comid这个值
作者: lxbjxy    时间: 2014-3-20 15:53:28

lxbjxy 发表于 2014-3-20 15:43
我想获得的是comid这个值

我想获取在编辑的时候,autoCpcomId选择返回的comid

作者: factory    时间: 2014-3-20 16:04:02

lxbjxy 发表于 2014-3-20 15:53
我想获取在编辑的时候,autoCpcomId选择返回的comid

编辑的时候,编辑器是存在的.

你可以监听他的事件,比如监听autocomplete的onvaluechanged="valuechanged"

function valuechanged(e){
  var o = e.sender  //就是autocomplete对象
  o.getValue()
}

试试

作者: haxwn    时间: 2014-7-9 13:48:43

factory 发表于 2014-3-20 16:04
编辑的时候,编辑器是存在的.

你可以监听他的事件,比如监听autocomplete的onvaluechanged="valuechanged" ...

版主大人,我还想问一下。假如我这还有一列,放的是隐藏域input hidden,<div field="guid" displayfield="guid" allowsort="true" width="100%">
                                供应商名称
                                <input id="guid" property="editor"  name="guid" />
                            </div>.
还有以上这么一列。然后我接着楼主的问题问下,如果我在function valuechanged(e){
  var o = e.sender  //就是autocomplete对象
  var value=o.getValue()
} 这个方法中取得了value这个值,怎么能赋值到guid这个input中呢?就是说同一行的值,跨列赋值过去。
作者: felt    时间: 2014-7-9 13:58:50

haxwn 发表于 2014-7-9 13:48
版主大人,我还想问一下。假如我这还有一列,放的是隐藏域input hidden,
                               ...

datagrid中只能放入miniui的编辑器
你放的这个 <input id="guid" property="editor"  name="guid" />是什么?

作者: haxwn    时间: 2014-7-9 18:48:48

felt 发表于 2014-7-9 13:58
datagrid中只能放入miniui的编辑器
你放的这个 是什么?

啊,没写规范,就是加个class='mini-hidden'  property="editor"  required="true" 这样就是miniui得编辑器了吧,然后怎么给这个hidden赋值?
作者: felt    时间: 2014-7-9 22:38:50

haxwn 发表于 2014-7-9 18:48
啊,没写规范,就是加个class='mini-hidden'  property="editor"  required="true" 这样就是miniui得编辑 ...

没有hidden编辑器,你都要隐藏了,为什么还要这列,你直接加到行数据上不就行了
作者: haxwn    时间: 2014-7-10 09:16:23

felt 发表于 2014-7-9 22:38
没有hidden编辑器,你都要隐藏了,为什么还要这列,你直接加到行数据上不就行了 ...

1.目的是想通过combobox联动得到数据中的guid赋值到这上面,但是又不能显示出来。2.没有这个hidden编辑器的话,假如把它替换成mini-textbox的话应该怎么赋值?
作者: felt    时间: 2014-7-10 09:20:50

haxwn 发表于 2014-7-10 09:16
1.目的是想通过combobox联动得到数据中的guid赋值到这上面,但是又不能显示出来。2.没有这个hidden编辑器 ...

都不行,编辑器是在编辑的时候才会显示
你直接combobox联动的时候更新到行数据上不就行了
作者: haxwn    时间: 2014-7-10 09:37:20

felt 发表于 2014-7-10 09:20
都不行,编辑器是在编辑的时候才会显示
你直接combobox联动的时候更新到行数据上不就行了 ...

combobox联动的时候更新到行数据上不就行了
不明白怎么更新到数据上阿 版主大人 求个例子
作者: felt    时间: 2014-7-10 09:37:56

haxwn 发表于 2014-7-10 09:37
combobox联动的时候更新到行数据上不就行了
不明白怎么更新到数据上阿 版主大人 求个例子  ...

行数据上加个字段
作者: haxwn    时间: 2014-7-10 09:43:09

felt 发表于 2014-7-10 09:37
行数据上加个字段

<div field="comName" displayfield="comName" allowsort="true" width="100%">
                                供应商名称
</div>

这样吧?给这个上面赋值。但是,我想要它隐藏起来阿,加了visble属性后,事件中e.field就找不到这一列了,没法赋值了呀
作者: felt    时间: 2014-7-10 09:50:59

haxwn 发表于 2014-7-10 09:43
供应商名称

不用加列啊,你combobox是列的编辑器吗
你valuechanged的时候获取到所在行
直接随便加个字段row.xxx=你要放的值不就可以了吗
作者: haxwn    时间: 2014-7-10 10:00:03

felt 发表于 2014-7-10 09:50
不用加列啊,你combobox是列的编辑器吗
你valuechanged的时候获取到所在行
直接随便加个字段row.xxx=你要 ...

阿,随便写一个?我试试。
作者: haxwn    时间: 2014-7-10 15:06:36

felt 发表于 2014-7-10 09:50
不用加列啊,你combobox是列的编辑器吗
你valuechanged的时候获取到所在行
直接随便加个字段row.xxx=你要 ...

谢谢版主,搞定了。
作者: wangjifan110    时间: 2014-7-10 23:07:45

haxwn 发表于 2014-7-9 18:48
啊,没写规范,就是加个class='mini-hidden'  property="editor"  required="true" 这样就是miniui得编辑 ...

mini.parse();
var grid = mini.get("grid1");//这是你DataGrid表对象

var rows = grid.getSelected();//选择的那一行对象
rows.guid= “哇哈哈供应商”;//给供应商列赋值

也可以
grid.getRow(0).guid=“哇哈哈供应商”;

其中guid是<div field="guid"中的,不是<input id="guid"
作者: felt    时间: 2014-7-11 09:22:34

wangjifan110 发表于 2014-7-10 23:07
mini.parse();
var grid = mini.get("grid1");//这是你DataGrid表对象

另外帖子中已回复
作者: haxwn    时间: 2014-7-14 11:19:11

wangjifan110 发表于 2014-7-10 23:07
mini.parse();
var grid = mini.get("grid1");//这是你DataGrid表对象

谢谢老兄~~~




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