我是iText java开发人员。我一直在使用大型桌子,现在我被困在垂直分割桌子。
在iText in Action的第119页,尊敬的Bruno Lowagie(我非常尊重这个人)解释了如何分割一个大表,以便列出现在两个不同的页面中。
我按照他的例子,当文档有几行时,它工作正常。
在我的情况下,我有100行,管理文档需要在几个页面中拆分100行,同时垂直拆分列。我运行我的代码如下,但只显示前34行。
有人可以解释这段代码可能出现的问题:
$this->getDoctrine()->getConnection( )->getDriver()
答案 0 :(得分:2)
你看不到100行,因为100行不适合单页。当您使用function cycleImages(){
$('.fader').each(function(){
var $active = $(this).find('.active');
var $next = ($(this).find('.active').next().length > 0) ? $(this).find('.active').next() : $(this).find('img:first');
$next.css('z-index',2);//move the next image up the pile
$active.fadeOut(1500,function(){//fade out the top image
$active.css('z-index',1).show().removeClass('active');//reset the z-index and unhide the image
$next.css('z-index',7).addClass('active');//make the next image the top one
});
});
}
function cycleImages2(){
$('.about-fader').each(function(){
var $active = $(this).find('.active');
var $next = ($(this).find('.active').next().length > 0) ? $(this).find('.active').next() : $(this).find('img:first');
$next.css('z-index',2);//move the next image up the pile
$active.fadeOut(1500,function(){//fade out the top image
$active.css('z-index',1).show().removeClass('active');//reset the z-index and unhide the image
$next.css('z-index',7).addClass('active');//make the next image the top one
});
});
}
function cycleImages3(){
$('.contact-fader').each(function(){
var $active = $(this).find('.active');
var $next = ($(this).find('.active').next().length > 0) ? $(this).find('.active').next() : $(this).find('img:first');
$next.css('z-index',2);//move the next image up the pile
$active.fadeOut(1500,function(){//fade out the top image
$active.css('z-index',1).show().removeClass('active');//reset the z-index and unhide the image
$next.css('z-index',7).addClass('active');//make the next image the top one
});
});
}
function cycleImages4(){
$('.sourcing-fader').each(function(){
var $active = $(this).find('.active');
var $next = ($(this).find('.active').next().length > 0) ? $(this).find('.active').next() : $(this).find('img:first');
$next.css('z-index',2);//move the next image up the pile
$active.fadeOut(1500,function(){//fade out the top image
$active.css('z-index',1).show().removeClass('active');//reset the z-index and unhide the image
$next.css('z-index',5).addClass('active');//make the next image the top one
});
});
}
function cycleImages5(){
$('.consulting-fader').each(function(){
var $active = $(this).find('.active');
var $next = ($(this).find('.active').next().length > 0) ? $(this).find('.active').next() : $(this).find('img:first');
$next.css('z-index',2);//move the next image up the pile
$active.fadeOut(1500,function(){//fade out the top image
$active.css('z-index',1).show().removeClass('active');//reset the z-index and unhide the image
$next.css('z-index',5).addClass('active');//make the next image the top one
});
});
}
function cycleImages6(){
$('.installation-fader').each(function(){
var $active = $(this).find('.active');
var $next = ($(this).find('.active').next().length > 0) ? $(this).find('.active').next() : $(this).find('img:first');
$next.css('z-index',2);//move the next image up the pile
$active.fadeOut(1500,function(){//fade out the top image
$active.css('z-index',1).show().removeClass('active');//reset the z-index and unhide the image
$next.css('z-index',5).addClass('active');//make the next image the top one
});
});
}
$(document).ready(function(){
$(".about-button").on("click", function(){
$(".homepage-container").hide();
$(".contact-container").removeClass("display-flex");
$(".services-sourcing-container").removeClass("display-flex");
$(".services-consulting-container").removeClass("display-flex");
$(".services-installation-container").removeClass("display-flex");
$(".about-container").addClass("display-flex");
});
$(".home-button").on("click", function(){
$(".homepage-container").show();
$(".about-container").removeClass("display-flex");
$(".services-sourcing-container").removeClass("display-flex");
$(".services-consulting-container").removeClass("display-flex");
$(".services-installation-container").removeClass("display-flex");
$(".contact-container").removeClass("display-flex");
});
$(".contact-button").on("click", function() {
$(".homepage-container").hide();
$(".about-container").removeClass("display-flex");
$(".services-sourcing-container").removeClass("display-flex");
$(".services-consulting-container").removeClass("display-flex");
$(".services-installation-container").removeClass("display-flex");
$(".contact-container").addClass("display-flex");
})
$(".sourcing-button").on("click", function() {
$(".homepage-container").hide();
$(".about-container").removeClass("display-flex");
$(".contact-container").removeClass("display-flex");
$(".services-consulting-container").removeClass("display-flex");
$(".services-installation-container").removeClass("display-flex");
$(".services-sourcing-container").addClass("display-flex");
})
$(".consulting-button").on("click", function() {
$(".homepage-container").hide();
$(".about-container").removeClass("display-flex");
$(".contact-container").removeClass("display-flex");
$(".services-sourcing-container").removeClass("display-flex");
$(".services-installation-container").removeClass("display-flex");
$(".services-consulting-container").addClass("display-flex");
})
$(".installation-button").on("click", function() {
$(".homepage-container").hide();
$(".about-container").removeClass("display-flex");
$(".contact-container").removeClass("display-flex");
$(".services-sourcing-container").removeClass("display-flex");
$(".services-consulting-container").removeClass("display-flex");
$(".services-installation-container").addClass("display-flex");
})
// run every 7s
setInterval('cycleImages()', 5000);
setInterval('cycleImages2()', 5000);
setInterval('cycleImages3()', 5000);
setInterval('cycleImages4()', 5000);
setInterval('cycleImages5()', 5000);
setInterval('cycleImages6()', 5000);
});
时,您需要计算页面上适合的行数,并仅添加适合的行数。
我现在正在柏林的一个会议上,但我写了一个简单的例子,或多或少地显示了你需要做的事情:
writeSelectedRows()
正如您所看到的,我会跟踪桌子的高度,一旦它冒出"从页面上掉下来,我会渲染出适合的行,然后我会转到下一页。