【问题标题】:jQuery UI sortable for giant lists and saving in databasejQuery UI 可对巨型列表进行排序并保存在数据库中
【发布时间】:2012-02-13 09:57:32
【问题描述】:

我正在使用 jQuery UI 的可排序列表来允许用户拖动和更改列表的排序。

我通常会取回每个项目的 ID 和数组键,然后更新数据库中每一行的排序号。

这一切都很好,看例子似乎是大多数人的正常做法。

我想知道的是,对每个项目运行 UPDATE 查询是否是存储排序顺序的最有效方式?以上内容适用于一些项目,但如果我有一个说 200 个项目的列表怎么办?运行 UPDATE 查询 200 次只是为了将第 2 项移动到第一个位置似乎有些过分。

有人有更有效的方法吗?

谢谢。

【问题讨论】:

    标签: jquery sorting jquery-ui-sortable


    【解决方案1】:

    如果您要跟踪每个项目的位置,则只需更新那些已更改的项目的位置。即,如果您将项目#19 移动到位置 1,则您将项目 1-18 向上移动了一个位置。您不必更改项目 20-200 的位置。

    此外,如果您使用的是 .NET/SQL Server 2008,您可以使用用户定义的表类型 (UDTT) 并将数据表作为参数之一传递给您的存储过程,该存储过程包含所有项目的列表和他们当前的列表位置,然后对数据集进行更新,而不是单独对每个项目进行更新。没有 RBAR :-)

    【讨论】:

      猜你喜欢
      • 2016-01-16
      • 2011-11-12
      • 1970-01-01
      • 2013-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-07
      • 2010-12-25
      相关资源
      最近更新 更多