Foros del Web » Creando para Internet » Flash y Actionscript »

Imprimir datagrid con un titulo es posible

Estas en el tema de Imprimir datagrid con un titulo es posible en el foro de Flash y Actionscript en Foros del Web. Buenas a todos... he encontrado un codigo para imprimir la info de un datagrid y perfecto imprime, pero es necesario colocarle un titulo, he intentado ...
  #1 (permalink)  
Antiguo 20/10/2006, 14:33
Avatar de cmt_lolabunny  
Fecha de Ingreso: septiembre-2004
Mensajes: 47
Antigüedad: 19 años, 7 meses
Puntos: 0
Sonrisa Imprimir datagrid con un titulo es posible

Buenas a todos... he encontrado un codigo para imprimir la info de un datagrid y perfecto imprime, pero es necesario colocarle un titulo, he intentado con varias funciones y ninguna me sirve.. Alguien sabe de ello?

Aqui esta el codigo encontrado...

function doPrint(datagrid:mx.controls.DataGrid, fitPage:Boolean):Void {
if (fitPage == undefined) fitPage = true;
var pj:PrintJob = new PrintJob();


// position of currently visible rows stored
var prev_vPosition:Number = datagrid.vPosition;
var prev_width:Number = datagrid.width;
var prev_height:Number = datagrid.height;
var prev_vScroll = datagrid.vScrollPolicy;
var prev_selectedIndex = datagrid.selectedIndex;
var dgPrintWidth:Number = 0;
var dgPrintHeight:Number = 0;

if (pj.start() != true) {
return;
}
// hide scrollbar for print
datagrid.vScrollPolicy = "off";
// hide the selection
datagrid.selectedIndex = undefined;

// datagrid width for printing
if (fitPage) {
dgPrintWidth = pj.pageWidth;
} else {
if (prev_width < pj.pageWidth) {
dgPrintWidth = prev_width;
} else {
dgPrintWidth = pj.pageWidth;
}
}

var texto = pj.createTextField("Prueba" );
// number of rows per view, ignoring fractions (floor)
var rowsPerPage:Number = Math.floor((pj.pageHeight-datagrid.headerHeight)/datagrid.rowHeight);
// total number of pages to be printed, if there are any fractions, have one page for that (ceil)
var total_pages:Number = Math.ceil(datagrid.dataProvider.length/rowsPerPage);
// number of full pages to be printed, ignoring fractions (floor)
var full_pages:Number = Math.floor(datagrid.dataProvider.length/rowsPerPage);
// number of rows on last page if partial
var last_page_rows:Number = 0;
// height of last page if partial
var last_page_height:Number = 0;
// partial last page ?
if (total_pages != full_pages) {
last_page_rows = datagrid.dataProvider.length - (full_pages*rowsPerPage);
last_page_height = datagrid.headerHeight + (datagrid.rowHeight * last_page_rows);
}
// datagrid height for printing
dgPrintHeight = datagrid.headerHeight + (datagrid.rowHeight * rowsPerPage);
datagrid.setSize(dgPrintWidth, dgPrintHeight);

for (var i = 0; i<total_pages; i++) {
// if last page and partial - resize grid
if ((i == total_pages - 1) && (last_page_rows > 0)) {
datagrid.setSize(dgPrintWidth, last_page_height);
}
// move the visible row position.
datagrid.vPosition = i*rowsPerPage;
// size box relative to the grid
var b = {xMin:0, xMax:datagrid.width, yMin:0, yMax:datagrid.height};
if (!fitPage && prev_width < pj.pageWidth) {
var x0 = (pj.pageWidth - prev_width) / 2;
b = {xMin:(-x0), xMax:(datagrid.width+x0), yMin:0, yMax:datagrid.height};
}
pj.addPage(datagrid, b);
}
pj.send();
delete pj;
// previous scrollPolicy
datagrid.vScrollPolicy = prev_vScroll;
// position of currently visible rows restored
datagrid.setSize(prev_width, prev_height);
datagrid.selectedIndex = prev_selectedIndex;
datagrid.vPosition = prev_vPosition;
}

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:33.