jQuery MiniUI

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

请教一个数据关联的问题 [复制链接]

Rank: 4

跳转到指定楼层
楼主
发表于 2012-11-20 19:17:39 |只看该作者 |倒序浏览
我有一个grid
他有4列

这个datagrid起名为考试成绩
id(学生ID),score(分数),name(姓名),memo(备注).

这个grid中load只能从后台 得到一个id(学生ID)和score(分数)
name和memo是通过ID从另外一个数据源取的(从学生基础档案取),我可以给name和memo这2个列,增加comboboxcolumn属性,通过id从后台获得对应的中文数据


但是有一种情况不行了,这个学生档案非常大,加入有100W条,comboboxcolumn列在页面加载时会请求后台,后所有的学生档案取出来,由于数据量太大。系统会卡很久,有没有更好的办法

谢谢

Rank: 8Rank: 8

沙发
发表于 2012-11-21 09:29:06 |只看该作者
“通过id从后台获得对应的中文数据”
学生的ID不是对应一个学生?
有点不太明白对应ID加载的combobox下拉里面是什么。因为一个学生ID应该只能从数据库中取到一个学生名字吧
如果你要加载所有的学生名单,建议你用分页来做,参考示例
1.http://www.miniui.com/demo/#src=datagrid/rowedit_lookup.html
2.http://www.miniui.com/demo/#src=datagrid/rowedit_openwindow.html
你看下这2个demo能否满足

Rank: 4

板凳
发表于 2012-11-21 10:36:59 |只看该作者
本帖最后由 xiaozan 于 2012-11-21 10:39 编辑

<div field="ID" width="100" headerAlign="center">学生ID</div>
<div field="name" type="comboboxcolumn" width="100" headerAlign="center" header="学生名">
        <input property="editor" class="mini-combobox" valueField="itemClsno" textField="itemClsname" showNullItem="true" url="${base}/bd/student!getAllList.action" style="width:100%;" />
</div>
<div field="score"  width="90" headerAlign="center">成绩</div>


上面这个DATAGRID,我给他的数据是{id:1001,score:100},{id:1002,score:300}
是没有姓名的,我增加一个editor 是为了让他去另外一个URL取出名字显示到页面上,还有别的方法吗,

Rank: 8Rank: 8

地板
发表于 2012-11-21 11:07:19 |只看该作者
xiaozan 发表于 2012-11-21 10:36
学生ID

        

如果表格不编辑,只是显示的话,你应该在后台关联查询出学生的name,然后将ID ,名字,成绩,一起返回。
如果需要编辑,那么这么多的数据用combobox肯定是不可能的,你只能用buttonedit来弹出,分页。
示例就是我上面给你的

Rank: 4

5#
发表于 2012-11-21 12:48:28 |只看该作者
我现在是后台没组装name的数据,前台要显示name的话,用的就是comboboxcolumn来实现

貌似这个name想显示要么后台组装了,要么用comboboxcolumn咯,没有其他的办法了吧?

Rank: 8Rank: 8

6#
发表于 2012-11-21 13:23:26 |只看该作者
xiaozan 发表于 2012-11-21 12:48
我现在是后台没组装name的数据,前台要显示name的话,用的就是comboboxcolumn来实现

貌似这个name想显示要 ...

为什么不后台查询出来显示?非得前台comboboxcolumn来显示呢? 如果你是要编辑的,那么我建议你用buttonedit来做,combobox加载10W条数据,肯定是不现实的。
如果你根本就没打算要编辑,那么就应该是后台关联查询了返回表格数据

Rank: 4

7#
发表于 2012-11-21 15:26:21 |只看该作者
看来只能这样了

我想前台显示主要有2个原因

1:不是关系型数据库
2:后台想尽量的少代码,所有的查询只都查一个entity的,关联的数据在前台关联显示出来,那代码量就极其少了

Rank: 4

8#
发表于 2012-11-21 15:27:24 |只看该作者
不过数据不大的话,可以用comboboxcolumns在前台做关联数据显示

这样代码也不多

如果能解决我遇到的这个问题,我这一套流程就跑顺了,真就是敏捷开发了

Archiver|普加软件

GMT+8, 2024-11-27 04:04 , Processed in 1.046189 second(s), 10 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部