Printing jqgrid打印视图的一个想法
我希望在jqgrid中有两个视图: 1) 带有可排序列、分页等的常规网格视图(非常棒,效果非常好……喜欢!) 2) 一个“打印视图”,可以很容易地用css设置样式,并为打印定制。类结构不应该太复杂,因为我想轻松地制作自己的样式表。一件重要的事情是能够在每个打印页面上重复列标题。(我不喜欢从jqgrid打印。即使添加带有“media=print”的jqgrid样式表,打印结果也很难控制。) 所以,我首先创建了一个jqGrid。然后,使用它的数据,创建我自己的表并从中打印。这有点像黑客。但它是有效的 1-创建网格并将其插入div。注意,我在“loadComplete”函数中根据变量的存在称为“build\u print\u view”。这允许我控制是要先显示“打印视图”还是“网格视图”: 2-在build_print_view()中,您可以从jqgrid中提取数据并将其放入一个表中,该表可以使用您自己的样式表进行任意样式设置Printing jqgrid打印视图的一个想法,printing,jqgrid,Printing,Jqgrid,我希望在jqgrid中有两个视图: 1) 带有可排序列、分页等的常规网格视图(非常棒,效果非常好……喜欢!) 2) 一个“打印视图”,可以很容易地用css设置样式,并为打印定制。类结构不应该太复杂,因为我想轻松地制作自己的样式表。一件重要的事情是能够在每个打印页面上重复列标题。(我不喜欢从jqgrid打印。即使添加带有“media=print”的jqgrid样式表,打印结果也很难控制。) 所以,我首先创建了一个jqGrid。然后,使用它的数据,创建我自己的表并从中打印。这有点像黑客。但它是有效的
function build_print_view(){
var gridtable = jQuery("#list");
var lista = gridtable.jqGrid('getGridParam','data');
var tablestr = "";
for(var i=0;i<lista.length;i++){
var rowData = lista[i];
tablestr += "<tr>"
tablestr += "<td class=\"wide cycle\" style=\"width:50px;\" id=\"sku\">"+rowData.var1+"</td>";
tablestr += "<td class=\"wide cycle\" style=\"width:300px;\" id=\"skudesc\">"+rowData.var2+"</td>";
tablestr += "</tr>";
}
jQuery.get('/lookupgrid/lookupgrid/get_print_view', function(data) {
var _html= jQuery(data);
_html.find('#printresults').append(tablestr);
jQuery('#resultdiv').html(_html);
});
}
function build\u print\u view(){
var gridtable=jQuery(“列表”);
var lista=gridtable.jqGrid('getGridParam','data');
var tablestr=“”;
对于(var i=0;iIs,这里有一个问题吗?我试图提供一个解决方案。这里没有问题。谢谢,但这不是问题的目的,仅供参考。一篇包含此信息的博客文章会更好:)好的,根据我上面写的,有一个问题:有更好、更“jqgrid-specific”的吗创建网格的可自定义打印视图的方法,该视图专门允许重复标题行?我没有成功,这就是我执行上述操作的原因。JqGrid使用标题行。我认为重复所需的是标题行标题行2。顺便说一句,kprobst。我理解并且不担心。如果您认为我的姓是“Propes”…小世界,嗯?
function build_print_view(){
var gridtable = jQuery("#list");
var lista = gridtable.jqGrid('getGridParam','data');
var tablestr = "";
for(var i=0;i<lista.length;i++){
var rowData = lista[i];
tablestr += "<tr>"
tablestr += "<td class=\"wide cycle\" style=\"width:50px;\" id=\"sku\">"+rowData.var1+"</td>";
tablestr += "<td class=\"wide cycle\" style=\"width:300px;\" id=\"skudesc\">"+rowData.var2+"</td>";
tablestr += "</tr>";
}
jQuery.get('/lookupgrid/lookupgrid/get_print_view', function(data) {
var _html= jQuery(data);
_html.find('#printresults').append(tablestr);
jQuery('#resultdiv').html(_html);
});
}
<div id="printview">
<table id="clsitems" class="wide">
<thead>
<tr>
<th colspan="10" class="wide" id="label">
</th>
</tr>
<tr>
<td class="wide label">
var1:
</td>
<td class="wide label">
var2:
</td>
</tr>
</thead>
<tbody id="printresults">
</tbody>
</table>
</div>