我是J Query的新手,我在http://www.trirand.com/blog/jqgrid/jqgrid.html中尝试了一些示例。我看到列名用JS编写,显示在Grid中。
我有要求在JQGrid上显示每次搜索的列。
示例:我有一组标准的列显示在Grid Like学生姓名,地址,电话号码中。
假设用户按学生ID搜索我需要将学生ID作为列添加到结果中。
我应该表现出像
"student name, Address,Phone number,StudentID"
如果他们按总计搜索
我应该表现出像
"student name, Address,Phone number,Total"
为了简化,我需要在用户点击搜索后向JQGrid添加一列。
我可以在JQGrid中这样做吗?我该如何实现呢?
答案 0 :(得分:1)
此答案取自较早版本的Oleg's answer here:
无法动态地向
jqGrid
添加列。您必须使用colModel
重新创建整个网格,其中包含更多列。如果使用单独的colNames
,则必须增加数组的大小。例如,您可以使用GridDestroy
来销毁现有网格。您实际上可以正常绑定一个额外的列,但您可以使用jquery
在运行时显示/隐藏它们。因此,您只需添加一个列,然后根据您的要求隐藏/显示它。
$("#grid").showCol("column_name");
$("#grid").hideCol("column_name");
答案 1 :(得分:0)
我相信你从数据库中获得了额外的列,这是记录集的一部分。
检查这个小提琴
http://jsfiddle.net/jqwidgets/6X3EZ/
现在在上面的链接中,您可以看到按钮点击列可以并且确实会被更改。
您现在需要做的就是,在代码中获取记录集的部分,编写一个带有var列的脚本元素,并在此变量中称为columns,填充jqxgrid的列名和相关参数。
完成后,在准备好文档的地方添加变量。
$("#jqxgrid").jqxGrid({
width: 500,
theme: 'energyblue',
source: adapter,
columns: columns});
希望这会有所帮助。