【问题标题】:Change the Sequence of JqGrid Columns更改 JqGrid 列的顺序
【发布时间】:2011-04-09 14:30:37
【问题描述】:

我想动态更改网格列顺序。例如默认情况下,网格将按 LoginId、FirstName 和 LastName 顺序加载。根据某些情况,我需要更改 FirstName 和 LastName 的顺序。

有什么办法可以做到吗?

我试过这样做:

{name:'UserName',index:'UserName',width:82,sortable:false},
if(true)
{
   {name:'FirstName',index:'FirstName',width:65,sortable:false},
   {name:'LastName',index:'LastName',width:65,sortable:false},
}
else
{
   {name:'LastName',index:'LastName',width:65,sortable:false},
   {name:'FirstName',index:'FirstName',width:65,sortable:false},   
}

但我无法完成这项工作。

【问题讨论】:

  • 如果我想改变 Add 、 Update 和 Delete 图标的位置,我该怎么做呢?

标签: jqgrid jqgrid-asp.net


【解决方案1】:

您可以使用remapColumns 函数来执行此操作。在函数的documentation 中,您会发现似乎错误的示例,因为排列数组中的索引似乎是基于 1 而不是基于 0。尝试使用:

$("#list").remapColumns([1,3,2],true,false);

$("#list").remapColumns([1,3,2,4,5,6,7,8,9],true,false);

如果您想从总共 9 列中更改第二和第三的顺序。

【讨论】:

  • 感谢您的回复。我正在使用 jqGrid 3.5.3 版本库。这个版本有这个功能吗?
  • @Amar:我不知道。现在工作了吗?您应该发布一个可以重现您的问题的代码示例。我只是 jqGrid 的用户而不是开发人员。在trirand.com/jqgridwiki/… 页面上没有关于remapColumns 更改的信息,但我不确定。在我看来,当时有一些错误修复。为什么不从trirand.com/blog/?page_id=6下载,使用最新版本的jqGrid?
  • 感谢奥列格的快速回复。我检查了 remapColumns 方法,它在 3.5.3 版本中不存在。我现在正在将我的 jqgrid 升级到最新版本。再次感谢。
  • 我最近在玩remapColumns。在 jQGrid 4.1.2 中,排列实际上是从 0 开始的。但请注意,行号 (rn)、多选复选框 (cb) 和其他隐藏列也被计算在内。因此,当您进行排列时,请记住包含这些列。
  • @frabiacca:对不起,我不完全理解你的问题。表单编辑使用与colModel 中的当前顺序相同的字段顺序。如果您使用recreateForm: true(我的默认设置),表单将按新顺序创建。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-02-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-15
  • 2013-09-22
相关资源
最近更新 更多