Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Impresión
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-12-2003
romeroja romeroja is offline
Registrado
 
Registrado: dic 2003
Ubicación: Entre Rios - Argentina
Posts: 6
Poder: 0
romeroja Va por buen camino
Unhappy Imprimir Stringrid en Rave

Tengo un problema al generar un reporte en rave en Delphi 7, hasta ahora lo que hacia era sacar los datos de un Clientdataset y con eso no tuve problemas, el tema es que quiero generar el reporte con los datos de un stringrid y no encuentro la forma de hacerlo, investigando encontre que el componente 'rvcustomconnection' tienen los enventos:

ongetcols y ongetrow
En el ongetcols escribo lo siguiente.

WriteField('Nombre', dtString, 20, '',''); {para crear una columna}

En el ongetrow

connection.WriteStrData('', grid2.Rows[i].text); {para crear una fila}

La verdad es que no encontre mucha informacion sobre el tema si alguien sabe algo, muchismas gracias por su ayuda
Responder Con Cita
  #2  
Antiguo 21-12-2003
romeroja romeroja is offline
Registrado
 
Registrado: dic 2003
Ubicación: Entre Rios - Argentina
Posts: 6
Poder: 0
romeroja Va por buen camino
Thumbs up

Investigando puede llegar a una solucion espero que les sirva a alguien agrego el codigo que use en los eventos ongetCols y onGetRows del rvCustomconnection

Código:
procedure TForm2.RvCustomConnection1GetCols(
  Connection: TRvCustomConnection);
begin
      With Connection do
        begin
             DoGetCols; // Creo las columnas (campos)
             WriteField('Apellido', dtString, 50, '','');
             WriteField('Nombre', dtString, 50, '','');
             WriteField('Provincia', dtString, 50, '','');
             WriteField('Profesion', dtString, 50, '','');
      end;
end;

procedure TForm2.RvCustomConnection1GetRow(
  Connection: TRvCustomConnection);
var
    i: integer;
begin
    i := grid2.RowCount - 1;
    Connection.DataRows := i;
    if  Connection.DataIndex < Connection.DataRows then
        begin
            TempList.Clear; // TStrings declarado Global
            TempList.AddStrings(grid2.Rows[Connection.dataindex + 1]);// asigno al TStrings la fila de la grilla
           Connection.WriteStrData( '',TempList.Strings[3]); //Asigno de la lista el elmento al campo correspondiente
           Connection.WriteStrData( '',TempList.Strings[1]);
           Connection.WriteStrData( '',TempList.Strings[0]);
           Connection.WriteStrData( '',TempList.Strings[2]);
           Connection.WriteNullData; 
        end
        else
             Connection.DoEOF;
end;
Espero que a alguien le sirva es la forma que encontre de hacerlo si alguien encuentra una manera distinta soy todo oidos
muchas gracias
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 07:27:01.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi