2013-03-13 72 views
2

我是J Query中的新手,我在http://www.trirand.com/blog/jqgrid/jqgrid.html中尝试了一些示例我在哪里看到列名是用JS编写的,它们在Grid中显示。JQGrid列自定义..在运行时添加列

我有这个需求在JQGrid上做,以显示他们每次搜索的列。

例如:我有标准的一组列显示在网格中像学生姓名,地址,电话号码。

假设如果用户搜索学生ID我需要添加学生ID作为列的结果。

我应该给喜欢

"student name, Address,Phone number,StudentID" 

如果他们寻找达尔

我应该给喜欢

"student name, Address,Phone number,Total" 

为了简化我需要搜索用户点击后一列添加到的jqGrid 。

我可以在JQGrid中做到这一点。我怎样才能实现这个?

回答

1

这个答案从旧版本的Oleg's answer here采取:

这是不可能的一列添加到动态的jqGrid。您必须重新创建具有更多一列的colModel的整个网格。如果您使用单独的colNames,则阵列的大小也必须增加。例如,您可以使用GridDestroy销毁现有网格。您可以像平常一样绑定额外的列,但您可以在运行时使用jquery来显示/隐藏它们。因此,您可以添加一列并根据您的要求隐藏/显示。

 $("#grid").showCol("column_name"); 
     $("#grid").hideCol("column_name"); 
0

我相信你得到的是从数据的基础上,这是记录集的一部分额外的列。

检查此琴

http://jsfiddle.net/jqwidgets/6X3EZ/

现在在上面的链接,你可以看到按钮点击栏可以做得到改变。

所有你现在需要做的就是在代码中你得到记录集的部分,用var列写一个script元素,在这个名为columns的变量中,填写列名和相关参数jqxgrid。

你做完之后,在你的文档准备好的地方写上你的网格添加变量。

$("#jqxgrid").jqxGrid({ 
width: 500, 
theme: 'energyblue', 
source: adapter, 
columns: columns}); 

希望这有助于。