【问题标题】:CRUD with advanced (column) filtering?具有高级(列)过滤的CRUD?
【发布时间】:2013-12-02 22:07:26
【问题描述】:

我花了数周时间尝试构建具有高级(列)过滤功能的 CRUD,例如:

您知道任何可以处理(服务器端处理)2000 条记录数据库的 CRUD 软件吗?

我尝试过 Grocery CRUD,我喜欢它的 Datatables theme,但它不支持服务器端处理(它没有在 Grocery CRUD 中实现)

我目前正在尝试 JqGrid,您认为这可能是一个好的解决方案吗?

【问题讨论】:

  • 您发现的大多数数据表都不会内置 CRUD,但它们通常具有足够的可扩展性,可以自己实现。
  • This 可能会有所帮助 - 就个人而言,我会使用 ORM
  • 你不觉得 ORM 听起来更复杂吗?我只需要一个带有列过滤器的 CRUD 表。谢谢。

标签: php jquery mysql jqgrid crud


【解决方案1】:

听起来你想要这样的东西: http://propelorm.org/

【讨论】:

  • 下载有demo。
  • 还没找到demo,抱歉
【解决方案2】:

您可以使用 jqGrid 来实现该场景。要填充网格并过滤数据,您有两个选项:第一个将在服务器端实现分页、排序和过滤,第二个将在客户端加载所有 2000 条记录数据库,使用客户端过滤、排序和分页。对于最后一个场景,您只需将 loadonce: true 选项添加到 jqGrid。 url指定的服务器方法需要返回所有条记录(2000条记录数据库)。选项rowNum 指定您在一页上向用户显示的行数。您应该使用toppager: true 或选项pager(如pager: "#pagerId")在网格的顶部、底部或两个部分添加寻呼机。要在网格的每一行中添加编辑按钮,您可以添加具有formatter: "actions" 的列。要添加用于过滤的工具栏,您应该使用filterToolbar 方法。 jqGrid 的The official demo page 提供了一些使用上述所有方法的示例。 Stackoverflow 包含许多其他示例。 formatter: "actions" 可用于inline editingform editing。在这两种情况下,编辑结果都将发送到editurl。因此,您可以通过服务器端处理成功实现 CRUD 场景。

【讨论】:

  • 感谢@Oleg 的详细回复,非常感谢。无论如何,我认为应该选择服务器端处理,以解决速度问题。
  • 我也希望能够添加新条目
  • @JessStone:有很多选项可以实现这一点。例如,您可以使用navGridinlineNav 将“添加”按钮添加到寻呼机。或者,您可以将任何自定义按钮放置在新页面的某个位置,然后调用 addRowaddRowData 将新行添加到网格中。
  • 注意:我正在使用 PHP/MySQL:这些方法会更新 MySQL 表记录吗?
  • @JessStone:我不使用 PHP 或 MySQL,但您可以在 the trirand site 上找到一些演示。通常,colModel 中的 name 属性将被发送到具有 editable: true 属性和 id 属性的列的 rowid 和 oper 的值为 addeditdel 的列中。因此,您可以在任何服务器端实现 CRUD 场景。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-23
  • 2021-12-09
  • 2023-04-08
相关资源
最近更新 更多