Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #21  
Antiguo 21-02-2012
gianfranco_tont gianfranco_tont is offline
Miembro
NULL
 
Registrado: ene 2012
Posts: 96
Poder: 15
gianfranco_tont Va por buen camino
Caral, no entiendo lo del querytemp cual serria para mis el querytemp? Y en donde coló esta sentencia?
Responder Con Cita
  #22  
Antiguo 21-02-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
Un query nuevo, otro query mas que normalmente yo uso para varias cosas, por eso lo llamo temporal.
Simplemente esta enlazado a la BD y se le asigna la labor que se quiera.
El codigo lo pones en el evento oncellclick del dbgrid.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #23  
Antiguo 21-02-2012
gianfranco_tont gianfranco_tont is offline
Miembro
NULL
 
Registrado: ene 2012
Posts: 96
Poder: 15
gianfranco_tont Va por buen camino
Me da un error de access violation al hacer click en el grid, lo coloque en el evento dbgrid1cellclick.
Responder Con Cita
  #24  
Antiguo 21-02-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 27
Caral Va por buen camino
Hola
No se que estas haciendo, lógicamente.
Me da la impresión, a ojo, que lo tendrías que hacer en el evento o procedimiento que crea una nueva linea al dbgrid, que es cuando necesitas que se cree un nuevo numero para el item.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #25  
Antiguo 22-02-2012
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 688
Poder: 21
olbeup Va camino a la fama
Hola gianfranco_tont

En tu SQL al principo pon un campo como el siguiente y después te diré para que es:
Código SQL [-]
SELECT
    0 AS NUMITEM <-- Este es el que vamos a modificar con el RecNo del DBGrid
    ,CAMPO1  |
    ,CAMPO2  | --> Esto son tus campos de la DB
    ,CAMPOX  |
    ,....
Después en el DrawColumnCell del DBGrid tienes que poner esto:
Código Delphi [-]
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
  FieldText: String;
  W: Integer;
begin
  if (DataCol = 0) then
    with DBGrid1.DataSource.DataSet do
      FieldText := IntToStr(RecNo);

  with DBGrid1 do
    if (DataCol = 0) then
    begin
      W := ((Rect.Right - Rect.Left) - Canvas.TextWidth(FieldText));
      DefaultDrawing := True;
      Canvas.FillRect(Rect);
      Canvas.TextOut(Rect.Left + W -2, Rect.Top +2, FieldText);
    end
    else
      DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;
Espero haberte orientado.

Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber.

Última edición por olbeup fecha: 22-02-2012 a las 09:42:31.
Responder Con Cita
  #26  
Antiguo 23-02-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 38
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
Hola gianfranco_tont.

En referencia a tu primer consulta:
Cita:
Hola foro, tengo un dbgrid con un clientdataset y lo que quiero hacer es que las filas se autonumeren, ejemplo. Cuando se crea una linea nueva en el grid que sea la 01 la siguen la 02 etc.
Creo que la opción más sencilla es que en el TClientDataSet, crees un campo calculado de tipo string (en el ejemplo lo llamo ClientDataSet1RecNo), mediante el Field Editor, ubícalo en el primer lugar de la lista de campos.

Luego en el evento OnCalcFields del TClientDataSet:
Código Delphi [-]
procedure TForm1.ClientDataSet1CalcFields(DataSet: TDataSet);
const
   NCEROS = 2; // Cantidad de ceros a la izquierda
begin
  with ClientDataSet1 do
    ClientDataSet1RecNo.AsString:= StringOfChar('0', NCEROS-Length(IntToStr(RecNo))) + IntToStr(RecNo);
end;
end;
Ese código dá exáctamente el resultado que solicitas.

Lógicamente es necesario que la propiedad DataSource del TDBGrid haga referencia al TDataSource que apunta al TClientDataSet.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
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
Item en dbgrid lmpadron C++ Builder 11 04-08-2011 21:39:18
Numero de fila en DBGrid Colgueit Conexión con bases de datos 28 16-03-2007 18:04:35
¿Como Eliminar de la Bd el item seleccionado en un DbGrid? day_eli Conexión con bases de datos 1 09-02-2007 16:36:33
Numero de registros en el dbgrid Besto Varios 4 05-06-2006 15:57:04
Como saber el Numero de Item pulsado de un TPopupMenu FNADALO OOP 6 06-08-2004 13:57:02


La franja horaria es GMT +2. Ahora son las 10:38:00.


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