jQuery MiniUI

标题: datagrid编辑有bug吧。 [打印本页]

作者: zuzjx    时间: 2014-1-22 16:52:29     标题: datagrid编辑有bug吧。

datagird编辑时,有2列使用的是相同的控件,选择一列之后。另外一列自动也是之前那列的值。2列都使用了displayfield

作者: felt    时间: 2014-1-22 17:00:30

不会的
你是不是两列的数据同一个
数据用data=mini.clone(data)克隆一下试试
作者: zuzjx    时间: 2014-1-22 19:30:17

felt 发表于 2014-1-22 17:00
不会的
你是不是两列的数据同一个
数据用data=mini.clone(data)克隆一下试试

经测试,是displayfield的原因。不能有2个列的displayField 是一样的。例如 2个不同的列,使用的是一个相同数据源的不同控件。使用相同的displayField 就会有问题
作者: felt    时间: 2014-1-22 23:20:25

zuzjx 发表于 2014-1-22 19:30
经测试,是displayfield的原因。不能有2个列的displayField 是一样的。例如 2个不同的列,使用的是一个相 ...

哦,displayField要设置不一样,不然行对象的这个字段都一样了
作者: factory    时间: 2014-1-23 09:28:24

zuzjx 发表于 2014-1-22 19:30
经测试,是displayfield的原因。不能有2个列的displayField 是一样的。例如 2个不同的列,使用的是一个相 ...

displayField是负责显示文本的, 如果两列对应到同一的displayField,当一列修改之后,数据中的displayField就被修改,那么另外一列由于也是这个displayField,当然也就被修改了
作者: zuzjx    时间: 2014-1-23 11:12:40

factory 发表于 2014-1-23 09:28
displayField是负责显示文本的, 如果两列对应到同一的displayField,当一列修改之后,数据中的displayField ...

是2列不同的字段,但是取数都一样啊,肯定需要displayField了~~
作者: felt    时间: 2014-1-23 11:31:25

zuzjx 发表于 2014-1-23 11:12
是2列不同的字段,但是取数都一样啊,肯定需要displayField了~~

1 相同数据源的话克隆一下
2 两个displayField设置成不同
作者: zuzjx    时间: 2014-1-23 11:58:43

felt 发表于 2014-1-23 11:31
1 相同数据源的话克隆一下
2 两个displayField设置成不同

不同displayfield那就需要修改数据源了,例如2个选择城市的,displayfield肯定是名称了。应该是BUG把。。如果要修改数据源,还是蛮麻烦的~
作者: factory    时间: 2014-1-23 12:06:02

zuzjx 发表于 2014-1-23 11:58
不同displayfield那就需要修改数据源了,例如2个选择城市的,displayfield肯定是名称了。应该是BUG把。。 ...

那你应该有2个不同的字段啊, 你2个列绑定同一个字段,那这个字段值改了,2个当然同时改了, 这是你数据的问题,不同列,即使内容相同,你也就应该给2个不同的字段.而不是为了偷懒就只给一个字段

就像你2个表格,绑定一个数据库表,表里面数据改了,你说这2个表格加载的数据会不会同时改?
作者: zuzjx    时间: 2014-1-23 13:48:14

factory 发表于 2014-1-23 12:06
那你应该有2个不同的字段啊, 你2个列绑定同一个字段,那这个字段值改了,2个当然同时改了, 这是你数据的问 ...

例如2列。一列是收款人sk_user、一列是开单人kd_user。两列都是从用户里面查出来的数据,该数据里面有ID、name,数据库里面存的是ID,显示的是name。displayField="name"
作者: felt    时间: 2014-1-23 14:00:53

zuzjx 发表于 2014-1-23 13:48
例如2列。一列是收款人sk_user、一列是开单人kd_user。两列都是从用户里面查出来的数据,该数据里面有ID ...

sk_user和kd_user对于行来说不是两个分开的字段吗,你既然能把id都分开,name为什么不分开
作者: factory    时间: 2014-1-23 14:12:28

本帖最后由 factory 于 2014-1-23 14:13 编辑
zuzjx 发表于 2014-1-23 13:48
例如2列。一列是收款人sk_user、一列是开单人kd_user。两列都是从用户里面查出来的数据,该数据里面有ID ...

你既然收款人和开单人有2个单独的id,但是name只有一个
那我问你个问题,  收款人我改成了 李四 ,开单人我改成了 张三,你告诉我,你把这个数据发送到后台, 你数据中只有一个name,你这个name更新成李四,还是更新成张三?

作者: zuzjx    时间: 2014-1-23 16:08:13

名称不带入后台,后台只认ID。名称只是用于前台显示的呢。
作者: factory    时间: 2014-1-23 16:35:03

zuzjx 发表于 2014-1-23 16:08
名称不带入后台,后台只认ID。名称只是用于前台显示的呢。

....
一个数据是1, 我现在把1改成2,那从这里得到的,难道不都是2了吗?怎么可能从同一个数据读取到2个不同的值
你就直接给2个displayField,让他们相互不影响

作者: zuzjx    时间: 2014-1-23 17:48:40

factory 发表于 2014-1-23 16:35
....
一个数据是1, 我现在把1改成2,那从这里得到的,难道不都是2了吗?怎么可能从同一个数据读取到2个不同的 ...

恩,现在就是这样解决的了。




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