【问题标题】:jQuery & jqGrid - multiple options within grid columnjQuery & jqGrid - 网格列中的多个选项
【发布时间】:2013-06-19 14:53:50
【问题描述】:

使用 jQuery 和 AJAX 从 SQL 数据库中检索数据。我正在考虑使用 jqGrid(如果可能的话)。检索数据时,根据其优先级和是否必须确认,它可以在每行显示 3 个选项中的 1 个:下拉框(要求用户在其中选择一个选项),提交按钮(确认已收到),或者它可以说“不需要”。一般情况下,如下图所示:

AJAX 调用是有间隔的,每 30 秒刷新一次。

必须发生的是当用户单击/选择它们时需要操作的项目,将更新数据源并使用他们的响应和他们响应的日期时间更新行。

可以有多行带有下拉框,也可以有多行带有提交按钮。一旦某个项目得到响应(或者如果什么都不需要),该消息将在下一次刷新时消失(被过滤掉)。

其他信息 - 下拉列表中的项目对于每一行都是相同的。此外,如果用户打开了下拉菜单,则间隔将停止,然后在做出选择后重新开始(下拉框打开时网格不应刷新)。

这样的事情可以使用 jqGrid 完成,或者使用另一个 jQuery 插件更好/更容易完成,还是应该在 HTML 中完成(使用 jQuery)?我会很感激任何意见。

编辑

我现在正在测试网格(仅显示数据),看看它是如何使用setInterval 工作的。我使用下面的代码来设置间隔。

iLoad = setInterval(function(){
    mytime = new Date();
    mytime = new Date(mytime - 60000);
    mytimeString = ('00'+(mytime.getHours())).slice(-2) +":"+('00' + (mytime.getMinutes())).slice(-2) + ":"+ ('00' + (mytime.getSeconds())).slice(-2) + "."+ ('000' + (mytime.getMilliseconds())).slice(-3);
    var cday = new Date();
    var curday = ('00'+(cday.getdate())).slice(-2);
    var curmon = ('00'+(cday.getMonth())).slice(-2);
    var curyr = cday.getFullYear();
    var currdate = curyr +"-"+curmon+"-"+curday;
    gridload(id, mytimeString, currdate);
    }, 60000);

我注意到,在第一次调用它时,网格在数据源上执行GET,但之后,当间隔再次触发时,它并​​没有执行新的GET。我放入了一些日志显示,显示它正在调用该函数,但网格代码中的显示(在loadComplete 中)仅在第一次触发。自我传递的时间参数以来,我发送的时间要求桌子上的任何新内容,所以我期待它每次都会触发。

设置间隔的代码之前已经获取了相同的信息并将其放入 HTML 表中,所以我知道间隔正在按预期触发。

我没有设置任何东西在网格上缓存或加载一次。我错过了什么?为什么间隔不让它对数据执行后续GET

【问题讨论】:

  • 关于您的问题的 EDIT 部分:您没有包含 gridload 函数的代码。您应该从空的<table>创建网格一次。创建空的<table> 后将被转换为div 和tables 的复杂结构。稍后您应该使用trigger("reloadGrid") 重新加载网格的主体,其中包含从服务器返回的新数据。代码示例见[答案] (stackoverflow.com/a/10461964/315935)。
  • @Oleg - 我昨天晚些时候找到了你提到的那个帖子,但这不是我真正想要的。由于每次调用间隔时我都会传递一个新时间,因此我想检索 (1) 未响应的内容(并且是要求),以及 (2) 自上次间隔以来的新内容。然后我发现你的帖子 (stackoverflow.com/questions/4920323/…) 关于 gridunload 和 gridDestroy 之间的区别 - gridUnload 是我需要使用的。我测试了网格的存在,然后卸载并从 SQL 中检索数据。

标签: jquery html jqgrid submit html-select


【解决方案1】:

是的,这可以使用 jqGrid 或其他数据网格选项(例如 SlickGrid)来完成。

使用 jqGrid,您将需要使用 Custom Formatter 对所需的单元格进行特定自定义。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多