jQuery MiniUI

标题: edit datagrid中look up控件值回显的问题 [打印本页]

作者: 一头小毛驴    时间: 2018-11-19 11:14:11     标题: edit datagrid中look up控件值回显的问题

版主,您好:
     我的edit datagrid中含有lookup控件,我是直接grid.setData(data)给表格赋值的,现在从表格上看,lookup是没有值的。但是点开lookup对应的grid,发现对应行已经选中。看到您之前在另一篇帖子给出的解决方案是setValue()+setText(),但是有些不适合我现在的情况(grid.setData()没法处理setValue()+setText())。请问还有更好的解决方案吗?

作者: dforce    时间: 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:"张三"}   
作者: 一头小毛驴    时间: 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)做回显的时候,就会出现我发帖时描述的问题。
作者: dforce    时间: 2018-11-19 13:35:48

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

你的数据可以肯定没有displayField字段对应的数据。
setData的数据里面,对于这列你必须提供两个字段的数据。
作者: 一头小毛驴    时间: 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,请问是我还有其他地方没注意到吗?

作者: 一头小毛驴    时间: 2018-11-19 15:51:24

版主大大,你在哪?我需要帮助
作者: dforce    时间: 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编辑器所在列看不到内容?


作者: 一头小毛驴    时间: 2018-11-19 16:09:14

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

对的,lookup看不到内容(也没有内容),但是点击lookup控件,发现里面的datagrid是被选中的
作者: dforce    时间: 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"}

作者: 一头小毛驴    时间: 2018-11-20 09:17:25

dforce 发表于 2018-11-19 17:04
那明显就是你setData里面给的数据不对了,少了displayField对应的字段的数据,这一列你需要维护两个字段 ...

我明白了,那么请问我如何在提交edit grid的时候,获取里面lookup控件显示的Text呢?因为我现在grid.getData()只能拿到lookup的所选值的ID,现在我需要Text和ID都拿到,请问应该怎么做呢?
作者: 一头小毛驴    时间: 2018-11-20 10:05:28

一头小毛驴 发表于 2018-11-20 09:17
我明白了,那么请问我如何在提交edit grid的时候,获取里面lookup控件显示的Text呢?因为我现在grid.getD ...

您好,我已经拿到了,原来会根据我的displayField获取到Text。学习了,谢谢




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