jqGrid问题-getRowData

jqGrid问题-getRowData,jqgrid,Jqgrid,jqGrid似乎还有另一个问题:-(我试图使用getRowData获取当前行数据,但得到的只是一个数组[object,object]。我做错了什么 This is what I'm using var rowdata=$(“#list”).jqGrid('getRowData') 有人能帮忙吗 谢谢在阅读评论后,我建议您遵循以下建议 如果需要打印包含jqGrid的页面,您可能需要为media=“print”准备额外的CSS。有关更多信息,请参阅 不带参数调用的方法getRowData返回行

jqGrid似乎还有另一个问题:-(我试图使用getRowData获取当前行数据,但得到的只是一个数组[object,object]。我做错了什么

 This is what I'm using 
var rowdata=$(“#list”).jqGrid('getRowData')

有人能帮忙吗


谢谢

在阅读评论后,我建议您遵循以下建议

如果需要打印包含jqGrid的页面,您可能需要为
media=“print”
准备额外的CSS。有关更多信息,请参阅

不带参数调用的方法
getRowData
返回行数组,行数组是可见单元格的数组。因为每个单元格都将被调用,因此数据可能与发布到jqGrid的数据不同。此外,如果使用数据分页或筛选,则可能会出现另一个问题:仅来自cur的可见单元格租金页面将被退回

我个人更喜欢使用export to Excel,而不是打印页面。如果我在导航栏中添加自定义按钮,则用户将单击该按钮,并向相应的MVC控制器操作发送请求。服务器从数据库获取相应网格的所有数据,并生成XLSX Excel数据作为stream。相应的代码不是很小,但可以生成格式符合要求的完美Excel文件。如果不需要在服务器端安装Microsoft Office,用户只需单击“导出到Excel”即可打开包含所有数据的ExceljqGrid中的按钮。在Excel中有很好的打印可能性。大多数用户对Excel非常了解,可以在打印前自定义数据(例如隐藏某些列)


因此,我建议您花一些时间实现导出到Excel,而不是直接实现jqGrid的打印。

getRowData
返回的数据始终是数组,但元素的类型应该是字符串。可能是您使用了错误的格式化程序,或者在错误的位置调用了
getRowData
(例如,在编辑数据期间)。您应该以任何方式包括更多定义jqGrid的代码,并清楚显示您调用
getRowData
的上下文。嗨,Oleg,感谢您的快速响应。这就是我调用方法$(“#list”).jqGrid('NavButtonAd','#pager',{标题:,标题:“打印网格”,按钮图标:“ui图标打印”,onClickButton:function(){var rowdata=$(“#list”).jqGrid('getRowData');});基本上,我想要得到的是网格中当前显示的collumn的列表,所以我可以将其提供给我拥有的打印操作方法(在我的asp.net MVC控制器中)。我非常感谢您的帮助。在格式化程序方面,我正在两个字段上使用日期格式化程序:{name:'Assigned date',index:'assignedDate',width:80,align:'left',sortable:true,formatter:'date',formattoptions:{newformat:'d-M-Y},edittype:'text',editoptions:{dataInit function(el){datepicker({dateFormat:“dd-M-yy”};},默认值:函数(){return getCurrDate();},搜索选项:{sopt:['cn','eq','ne','bw','ew','nc']},调用该方法时,我也没有处于编辑模式。它实际上是在添加到导航器工具栏的自定义按钮中定义的。控制器在服务器端工作,并且它已经拥有来自jqGrid的所有数据(之前控制器将数据发送到jqGrid)。你能解释一下为什么需要它吗。嗨,Oleg,也许我错了,但我没有看到网格的打印选项。我想允许用户以PDF或Excel格式打印网格。我想让它包括满足当前查询的所有行,而不仅仅是网格中的当前行。哦,我还允许用户打开/关闭t中的列网格和打印功能必须考虑到这一点。为了开始这个过程,我首先尝试获取网格中当前显示的所有列的列表,正如我所提到的,我被卡住了。如果你有任何方法来完成我尝试做的事情,请指导我。谢谢Oleg。这正是我正在尝试做的。有一个广告附加条件,默认情况下我不想打印所有列。如果用户在网格中选择/取消选择了列,我只想打印选择的3列。这就是gridRowData函数的作用,只是为了获取所选列的列表。如果您知道获取此列表的任何其他方法,我将不胜感激。再次感谢您的支持花点时间帮忙。顺便说一句,我已经解决了这个问题。我将很快在我的博客上添加一个链接,向其他同样遇到问题的人展示我的解决方法。谢谢