可编辑表格的动态更新

SmallBug2002 2010-02-22 01:27:45
要求如下:
JSP页面上的表格中的内容是通过数据库查询出来的,
而且每一项内容都是可以编辑和删除的。
此画面要实时更新,当然可以规定时间比如每10秒等。
用户在编辑的过程中有可能其他用户对数据作了更新和删除操作,
或者增加了新的数据,都必须实时的反映出来。

我知道用AJAX可以实现动态更新页面内容,但没用过。谁能告诉我,上面的实现怎么做好呢?
...全文
586 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
fyjava1984 2010-02-23
  • 打赏
  • 举报
回复
要考虑数据的一致性和完整性,就如3楼说的
icy_csdn 2010-02-23
  • 打赏
  • 举报
回复
补充一点,
2.3 如果要求数据必须是实时的,即在用户编辑一个数据的同时,其他数据一旦有变化,就必须更新,那你得考虑用flex去实现。一般这种情况很少
icy_csdn 2010-02-23
  • 打赏
  • 举报
回复
很简单,可以参考yahoo的yui
http://developer.yahoo.com/yui/examples/datatable/dt_cellediting.html

1. 用户只要编辑,就更新数据到服务器;
2. 要考虑是否立即感应其他用户编辑相关数据的情况,也就是说用户是否容忍用户看到的数据是过期的。
2.1 如果可以不用考虑,用户编辑一个数据的时候,更新当前页面和服务器数据即可;用户刷新时即可反应其他用户编辑的数据。通常情况这样处理已经足够了
2.2 如果要考虑,那用户每编辑完一个数据(或用户手机刷新,或定时刷新,定时刷新要考虑用户是否正正在编辑),你需要重新从服务器获得全部数据,以便更新其他用户编辑的数据。

不过都比较简单。
teemai 2010-02-23
  • 打赏
  • 举报
回复
基本思路如2楼所述。
----------------------------------------------------------------------------
假如数据更新的同时,用户正在编辑数据,那么用户正在增加或者编辑的数据会怎样呢?

前台通过js更新页面,既然是js控制,那么就可以控制正在编辑的输入域之类的不被更新。
比如,用焦点事件控制一个文本域,如果鼠标在输入域里,则不更新此输入域。同样,如果是一条一条记录的,那么你也可以控制一行不被更新。
xxy8100 2010-02-23
  • 打赏
  • 举报
回复
顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶
limit_clear 2010-02-23
  • 打赏
  • 举报
回复
dddddddddddddddddddddd
BearKin 2010-02-23
  • 打赏
  • 举报
回复
引用 2 楼 final_xt 的回复:
1、javascript的setTimeOut
2、ajax从后台取内容(可以将内容组织成xml)
3、xml传到前台后解析xml,然后将内容动态的生成表格(DOM)


JS效果在这些步骤里比较麻烦 不过3L说的对 如果你在编辑数据的时候 前台一更新 那你编辑的数据不就没了么?
ladybirds2008 2010-02-23
  • 打赏
  • 举报
回复
引用 2 楼 final_xt 的回复:
1、javascript的setTimeOut
2、ajax从后台取内容(可以将内容组织成xml)
3、xml传到前台后解析xml,然后将内容动态的生成表格(DOM)

这里类似与事件的并发,如果有2个人对同一数据同时进入修改操作,这里就要进行数据加锁啦,让操作员只允许进入一个进行操作,数据实时更新更不是什么很难的事。。当然,页面增加了新的数据时候,都能实时的反映出来
shixitong 2010-02-23
  • 打赏
  • 举报
回复
extjs 里有个可编辑表格。楼主要不试试?挺方便!
Marty束 2010-02-22
  • 打赏
  • 举报
回复
楼主可以 参考下 Google的 fullcalender。
是开源的。如果LZ够吊,就用来做2次开发的源码
momomonitou 2010-02-22
  • 打赏
  • 举报
回复
引用 3 楼 smallbug2002 的回复:
假如数据更新的同时,用户正在编辑数据,那么用户正在增加或者编辑的数据会怎样呢?
会没有了吗?


不是还有作用域么
SmallBug2002 2010-02-22
  • 打赏
  • 举报
回复
假如数据更新的同时,用户正在编辑数据,那么用户正在增加或者编辑的数据会怎样呢?
会没有了吗?
final_xt 2010-02-22
  • 打赏
  • 举报
回复
1、javascript的setTimeOut
2、ajax从后台取内容(可以将内容组织成xml)
3、xml传到前台后解析xml,然后将内容动态的生成表格(DOM)
「已注销」 2010-02-22
  • 打赏
  • 举报
回复
用 Ajax 定时去取数据

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧