Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-07-2004
JoseQ JoseQ is offline
Miembro
 
Registrado: jul 2004
Posts: 167
Poder: 20
JoseQ Va por buen camino
memo en dbgrid

Buenas, tengo un campo memo en una tabla paradox, en mi programa tengo un dbgrid conectado a esa base de datos y con ese campo visible, mi problema es que no puedo ni editar ni ver el contenido del memo en el dbgrid, alguien sabe si no se puede ?gracias;
Responder Con Cita
  #2  
Antiguo 22-07-2004
Avatar de ruina
ruina ruina is offline
Miembro
 
Registrado: jun 2004
Posts: 196
Poder: 20
ruina Va por buen camino
no, no se puede, lo normal es poner un dbmemo aparte conectado a la misma tabla que muestre/edite el contenido del memo.


si realmente necesitas sacar ese contenido tipo Grid puedes optar por:
a) hacerte un campo calculado string que sean los xx primeros caracteres del memo

b) usar DBControlGrid para sacar varios memos

Yo optaria por la primera opción de solo ver el memo del registro activo, si andas maL de sitio en el formulario puedes usar botones de elipsis en el grid (propiedades de la columna, ButtonStyle -> cbsEllipsis) y si lo pulsan saltará el evento OnEditButtonClick del grid, puedes saber la columna sobre la que se ha pulsado (si tubieras varios memos en el mismo registro) mediante DBGrid1.SelectedField, entonces sacas otra ventana o un frame o lo que quieras con un DBMemo

no se si me he explicado bien....
Responder Con Cita
  #3  
Antiguo 22-07-2004
JoseQ JoseQ is offline
Miembro
 
Registrado: jul 2004
Posts: 167
Poder: 20
JoseQ Va por buen camino
si, si te entiendo,eso es lo que se me habia ocurrido, supongo k seguire x ahi, gracias
Responder Con Cita
  #4  
Antiguo 22-07-2004
judoboy judoboy is offline
Miembro
 
Registrado: may 2003
Ubicación: Valencia
Posts: 139
Poder: 21
judoboy Va por buen camino
Todo depende del tipo de base de datos que uses, yo con Interbase, si que puedo mostrar los MEMO en un DBGrid, haciendo, lo siguiente:

En los Eventos del correspondiente campo de tipo memo pon esto

En el OnGetText:

Text:= Trim (Sender.asString);

En el OnSetText:

Sender.AsString:=Text;

yo con esto consigo mostrar en un dbgrid un campo de tipo memo
Responder Con Cita
  #5  
Antiguo 22-07-2004
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Si redefines el evento de dibujar las celdas en el DBGrid sí se puede mostrar el contenido de un memo.

Se puede acceder al campo utilizando un BlobStream:
var
P: array [0..50] of char; {array size is number of
characters needed}
bs: TBlobStream; {from the memo field}
hStr: String;
begin
with (Sender as TDBGrid).Canvas do
begin {Table1_NombreCampo es el TMemoField}
bs := TBlobStream.Create(Table1_NombreCampo, bmRead);
FillChar(P,SizeOf(P),#0);
bs.Read(P, 50); {Carga los 50 primeros caracteres}
bs.Free;
hStr := StrPas(P);
{cambia saltos de carro y final de linea por espacios}
while Pos(#13, hStr) > 0 do
hStr[Pos(#13, hStr)] := ' ';
while Pos(#10, hStr) > 0 do
S[Pos(#10, hStr)] := ' ';
// limpia la celda
FillRect(Rect);
// pinta el texto
TextOut(Rect.Left, Rect.Top, hStr);
end;
end;
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #6  
Antiguo 22-07-2004
JoseQ JoseQ is offline
Miembro
 
Registrado: jul 2004
Posts: 167
Poder: 20
JoseQ Va por buen camino
mui buena, funciona mui bien, gracias

Neftali thanks a ti tb, aunk kreo k me kedo con la otra solucion, mas k nada x lo corto
xD
GRacias a los 3
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 10:00:25.


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