jQuery MiniUI

 找回密码
 立即注册
查看: 8556|回复: 10
打印 上一主题 下一主题

edit datagrid中look up控件值回显的问题 [复制链接]

Rank: 3Rank: 3

跳转到指定楼层
楼主
发表于 2018-11-19 11:14:11 |只看该作者 |倒序浏览
版主,您好:
     我的edit datagrid中含有lookup控件,我是直接grid.setData(data)给表格赋值的,现在从表格上看,lookup是没有值的。但是点开lookup对应的grid,发现对应行已经选中。看到您之前在另一篇帖子给出的解决方案是setValue()+setText(),但是有些不适合我现在的情况(grid.setData()没法处理setValue()+setText())。请问还有更好的解决方案吗?

Rank: 8Rank: 8

沙发
发表于 2018-11-19 11:40:58 |只看该作者
http://www.miniui.com/demo/#src=datagrid/rowedit_lookup.html
编辑器是lookup的话,需要有filed和displayField分别对应下拉的值和文本,你给的数据里面有吗?
<div field="id“ displayField="name"
{id:1,name:"张三"}   

Rank: 3Rank: 3

板凳
发表于 2018-11-19 13:21:48 |只看该作者
dforce 发表于 2018-11-19 11:40
http://www.miniui.com/demo/#src=datagrid/rowedit_lookup.html
编辑器是lookup的话,需要有filed和displa ...

现在我displayField就是参照http://www.miniui.com/demo/#src=datagrid/rowedit_lookup.html这个示例将两个field拼接起来的,中间用下划线隔开。然后在编辑的时候,edit grid失去焦点,lookup值回显没有问题。但是当我grid.setData(data)做回显的时候,就会出现我发帖时描述的问题。

Rank: 8Rank: 8

地板
发表于 2018-11-19 13:35:48 |只看该作者
一头小毛驴 发表于 2018-11-19 13:21
现在我displayField就是参照http://www.miniui.com/demo/#src=datagrid/rowedit_lookup.html这个示例将两 ...

你的数据可以肯定没有displayField字段对应的数据。
setData的数据里面,对于这列你必须提供两个字段的数据。

Rank: 3Rank: 3

5#
发表于 2018-11-19 13:57:34 |只看该作者
dforce 发表于 2018-11-19 13:35
你的数据可以肯定没有displayField字段对应的数据。
setData的数据里面,对于这列你必须提供两个字段的数 ...

您好,是这样的。
    edit grid 的ID : A
    look up对应的grid的ID : B
    在edit grid中含有lookup控件。
    现在我的js代码是这样的:
  mini.get("B").load(params,function (){
    mini.get("A").setData(data);
});

按照您所说的,displayField所需要的两个字段数据我都已经提供了,而且还确保了B grid一定是有值的情况下,我才A.setData,请问是我还有其他地方没注意到吗?

Rank: 3Rank: 3

6#
发表于 2018-11-19 15:51:24 |只看该作者
版主大大,你在哪?我需要帮助

Rank: 8Rank: 8

7#
发表于 2018-11-19 16:00:15 |只看该作者
一头小毛驴 发表于 2018-11-19 13:57
您好,是这样的。
    edit grid 的ID : A
    look up对应的grid的ID : B

我是直接grid.setData(data)给表格赋值的,现在从表格上看,lookup是没有值的
这是什么意思?
你grid.setData(data)之后,表格lookup编辑器所在列看不到内容?

Rank: 3Rank: 3

8#
发表于 2018-11-19 16:09:14 |只看该作者
dforce 发表于 2018-11-19 16:00
我是直接grid.setData(data)给表格赋值的,现在从表格上看,lookup是没有值的
这是什么意思?
你grid.set ...

对的,lookup看不到内容(也没有内容),但是点击lookup控件,发现里面的datagrid是被选中的

Rank: 8Rank: 8

9#
发表于 2018-11-19 17:04:18 |只看该作者
一头小毛驴 发表于 2018-11-19 16:09
对的,lookup看不到内容(也没有内容),但是点击lookup控件,发现里面的datagrid是被选中的 ...

那明显就是你setData里面给的数据不对了,少了displayField对应的字段的数据,这一列你需要维护两个字段的数据。
这是我们示例里面这列的代码简化
<div field="manager" displayField="manager_name"  ...
     <div property="editor" class="mini-lookup" style="width:100%;" textField="name" valueField="id" ....
</div>

那个你给这个表格的数据需要初始的时候就显示内容,比如是这样的
{name:"人事部",manager_name:"张明",manager:"8197fb45-2b60-4309-820c-e70824fc9b33"}

Rank: 3Rank: 3

10#
发表于 2018-11-20 09:17:25 |只看该作者
dforce 发表于 2018-11-19 17:04
那明显就是你setData里面给的数据不对了,少了displayField对应的字段的数据,这一列你需要维护两个字段 ...

我明白了,那么请问我如何在提交edit grid的时候,获取里面lookup控件显示的Text呢?因为我现在grid.getData()只能拿到lookup的所选值的ID,现在我需要Text和ID都拿到,请问应该怎么做呢?

Archiver|普加软件

GMT+8, 2025-7-10 00:31 , Processed in 1.068941 second(s), 9 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部