Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-11-2013
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
combinar celdas en stringgrid

Buenas,

Estaba buscando otros componentes stringgrid para lazarus pero parece que no hay, y tambien ver si se pueden combinar celdas, algo parecido a excel, para, por lo menos, darle una salida a los datos.

Si he visto que decis en otro post que se podría jugar con ondrawcell pero me pierdo.

Si hubiera otra forma de hacer lo mismo que con excel en ese aspecto aunque fueran otros componentes os lo agradeceria.

saludos
Responder Con Cita
  #2  
Antiguo 22-11-2013
Avatar de rretamar
[rretamar] rretamar is offline
Miembro Premium
 
Registrado: ago 2006
Ubicación: San Francisco, Córdoba, Argentina
Posts: 1.168
Poder: 20
rretamar Va camino a la famarretamar Va camino a la fama
Kgrid, viene preinstalado en Lazarus Codetyphon.



__________________
Lazarus Codetyphon : Desarrollo de aplicaciones Object Pascal, libre y multiplataforma.

Última edición por rretamar fecha: 22-11-2013 a las 13:17:50.
Responder Con Cita
  #3  
Antiguo 23-11-2013
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
Se agradece, es lo que andaba buscando .
Responder Con Cita
  #4  
Antiguo 25-11-2013
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
hola de nuevo,

rretamar, gracias por el aporte, ya lo implemente, pero me surgen un par de dudas, aprovechando que quiza el kgrid lo dominas .

si tengo un kgrid pequeño, a la hora de imprimir me ocupa toda la hoja, no he visto ninguna forma de poder encogerlo

y la otra duda es que he visto en el ejemplo que el contenido de las celdas se puede alinear a la derecha o centro, pero en los demos no he visto que se pueda a pesar de haber investigado en el codigo fuente.

Si he conseguido combinar celdas e incluso pintarlas...

Gracias
Responder Con Cita
  #5  
Antiguo 15-12-2013
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
Ya averigüe cómo se centra o se pone a la derecha y alguna cosa mas
Responder Con Cita
  #6  
Antiguo 15-12-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por anubis Ver Mensaje
Ya averigüe cómo se centra o se pone a la derecha y alguna cosa mas
Hola anubis.

Estaríamos agradecidos si nos compartis el conocimiento

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #7  
Antiguo 16-12-2013
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
Hola,

Usando el paquete kgrid, y trabajando con el ejemplo, he conseguido hacer lo que me interesaba, que era combinar celdas y alinear un grid.

En el ejemplo le puse un boton para previsualizar la impresion.

Cree un procedimiento, como podeis ver, para poder ir agilizando lo que me interesaba poner en el grid y como queria ponerlo. quiza no es una manera elegante de hacerlo pero de momento funciona, quiza lo podria sustituir con arrays pero bueno ya veremos.

Con respecto a la previsualización, sigo buscando en las units relacionadas a ver si se pudiera escalar el grid y que no ocupara todo el ancho de la hoja porque no es lo que interesa. De todas formas si alguno ya averiguo este tema a ver si puede dar una ayudita.




Código Delphi [-]
unit Unit1;

interface

uses
  Classes, SysUtils, FileUtil,  Forms, Controls, Graphics,
  Dialogs, StdCtrls, ExtCtrls, KGrids, KDialogs, KControls;

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    KGrid1: TKGrid;
    KPrintSetupDialog1: TKPrintSetupDialog;
    Panel2: TPanel;
    ppdmain: TKPrintPreviewDialog;
    Panel1: TPanel;

    procedure Button1Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure FormCreate(Sender: TObject);
 PROCEDURE COLUMNAS(TEXTO:STRING; ALINEA,COLUM, FILAS,CABECERA,COMBINAR:INTEGER);

  private
    { private declarations }
  public
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

type
  { custom cell class - contains Checked property for column with check boxes
    and Number property for all cell strings with number beside the text }
  TMyTextCell = class(TKGridAttrTextCell)
  private
    FCheckBoxState: TCheckBoxState;
    FNumber: Integer;
  protected
    procedure Initialize; override;
  public
    procedure Assign(Source: TKGridCell); override;
    // we don't need to override other methods
    property CheckBoxState: TCheckBoxState read FCheckBoxState write FCheckBoxState;
    property Number: Integer read FNumber write FNumber;
  end;

{ TMyTextCell }

procedure TMyTextCell.Assign(Source: TKGridCell);
begin
  inherited;
  if Source is TMyTextCell then
  begin
    FCheckBoxState := TMyTextCell(Source).CheckBoxState;
    FNumber := TMyTextCell(Source).Number;
  end;
end;

procedure TMyTextCell.Initialize;
begin
  inherited;
  FCheckBoxState := cbChecked;
  FNumber := 0;
end;

{ TForm1 }

procedure TForm1.FormActivate(Sender: TObject);
begin
panel1.Width:=330;
kgrid1.ColWidths[0]:=200;
kgrid1.ColWidths[1]:=100;

COLUMNAS('TITULO GRID',2,0,0,1,1);
COLUMNAS('FECHA',2,0,1,1,0);
COLUMNAS('TURNO',2,1,1,1,0);

COLUMNAS(DATETOSTR(DATE),2,0,2,0,0);
COLUMNAS('FILA1-1',2,1,2,0,0);
COLUMNAS('FILA2-0',2,0,3,0,0);
COLUMNAS('FILA2-1',2,1,3,0,0);
COLUMNAS('FILA3-0',2,0,4,0,0);
COLUMNAS('FILA3-1',2,1,4,0,0);

COLUMNAS ('* SECCION 2 *',2,0,5,1,1);
COLUMNAS('SUBSECCION 1',2,0,6,1,1);
COLUMNAS('FILA7',1,0,7,0,0);
COLUMNAS('FILA8',1,0,8,0,0);
COLUMNAS('FILA9',1,0,9,0,0);
COLUMNAS('SUBSECCION 2',2,0,10,1,1);

end;

PROCEDURE TFORM1.COLUMNAS( TEXTO: STRING;ALINEA,COLUM,FILAS,CABECERA,COMBINAR: INTEGER );
BEGIN
IF COMBINAR =1 THEN
 kgrid1.cellspan[COLUM,FILAS]:=makecellspan(1-0+1,1);
with TMyTextCell(KGrid1.Cell[COLUM,FILAS]) do
begin
text:=TEXTO;
IF ALINEA = 1 THEN halign:=halign.halLeft;
IF ALINEA = 2 THEN HALIGN:=HALIGN.halCenter;
IF ALINEA = 3 THEN HALIGN:=HALIGN.halRight;
IF CABECERA =1 THEN
BEGIN
  brush.style:=bssolid;
   brush.color:=clsilver;
   font.Style:=[fsbold];
end;
 END;
 END;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ppdmain.show;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
    KGrid1.CellClass := TMyTextCell;
end;


end.
Responder Con Cita
  #8  
Antiguo 16-12-2013
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Muchas gracias anubis

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #9  
Antiguo 22-01-2014
Avatar de anubis
anubis anubis is offline
Miembro
 
Registrado: mar 2007
Posts: 863
Poder: 18
anubis Va por buen camino
Hola,

Sigo sin poder escalar el grid a la hora de imprimir. cuando el grid tiene 2 columnas, usa todo el ancho de la hoja para imprimir.
Nose si alguno sabe si hay forma de escalar o si bien hay alguna otra alternativa para imprimir.

Saludos y 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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
combinar celdas con StringGrid david_uh Varios 1 09-06-2007 02:12:00
combinar celdas de StringGrid VRO Varios 2 21-04-2005 08:02:16
Combinar celdas en excell rpadin Servers 2 28-05-2004 20:25:26
Combinar Celdas Stringgrid MITOPE Varios 0 21-04-2004 07:03:27


La franja horaria es GMT +2. Ahora son las 14:52:42.


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