Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 04-12-2005
Velia Velia is offline
Miembro
 
Registrado: oct 2005
Posts: 71
Poder: 19
Velia Va por buen camino
Convertir un campo Memo dentro de un DBGrid

Hola
Tengo un DBGrid conectado a un ClientDataSet que me recupera los campos y la información en tiempo de ejecución. Es decir que despues que El ClientDataSet recupera todos los datos, yo hago el enlace al DBGrid.
Con lo que los campos Memo no me los muestra.

Y por lo que no puedo utilizar el procedimiento OnGetText del ClientDataSet para mostrar el contenido del campo memo porque no tengo TField predefinidos. Sino que son variables dependiendo de la consulta.

Intenté haciendo
DBGrilla.Columns[1].Field.OnGetText pero no lo sé utilizar

La otra que no se si anda y que ademas no lo se utilizar es el enlace de objetos.
Recibo sugerencias y
Les agradezco su ayuda
Saludos a todos
Responder Con Cita
  #2  
Antiguo 04-12-2005
Velia Velia is offline
Miembro
 
Registrado: oct 2005
Posts: 71
Poder: 19
Velia Va por buen camino
Por las dudas de que no se haya entendido

Solo quiero mostrar Campos Memos en un columna.
Responder Con Cita
  #3  
Antiguo 04-12-2005
Velia Velia is offline
Miembro
 
Registrado: oct 2005
Posts: 71
Poder: 19
Velia Va por buen camino
Mostrar campo memo con una dbgrid y un clientdataset

HOla de nuevo
Me he olvidado de decir que he leido un montón de problemas parecidos al mio. (Para reemplazar una etiqueda (memo) de un dbGrid en Access )

Pero quiero aclarar que ya he probado con casi todo lo que vi pero no me funciona porque mi aplicación esta echa con DataSnap. donde en la capa de abajo tengo un ADODataSet y un DataSetProvider. En la capa del cliente tengo solo un ClienDataSet que manda la consulta con la propiedad CommandText. es decir

ClientDataSet.CommandText:= 'SELEC * From Tabla';

Y ademas formo los campos del DBGrid solo en tiempo de ejecución con lo que estas columnas van a depender del tipo de consulta SQL que haga.

Ahora bien: COmo todo se hace en tiempo de ejecución no puedo utilizar este código:

En el evento OnGetText del field del ClienDataSet

text:=trim (Sender.AsString);

Porque no tengo TFields ni siquiera puedo crear un campo calculado para hacer:

var
s: string;
begin
try
s := DataSet.FieldValues['TuCampoMemo'];
DataSet.FieldValues['TuCampoCalculado'] := Copy(s,1,255);
except
end;
end;

////////////
Ni tampoco me sale esto:

var
Grid : TStringGrid;
Texto : String;
Rectangulo : TRect;
begin
Rectangulo:=Rect;
Grid := TStringGrid(Sender);
if Data_Module1.cdsConsulta_Principal.FieldByName('extracto_principal').IsBlob then
begin
Grid.Canvas.FillRect(Rect);
Texto := Data_Module1.cdsConsulta_Principal.FieldByName('extracto_principal').AsString;
DrawText( Grid.Canvas.Handle,
PChar(Texto),
StrLen(PChar(Texto)),
Rectangulo,
DT_WORDBREAK);
end;


AUNQUE ESTE CASI ME SALIó solo que me muestra todas las columnas con los valores del memo hasta campos que no son memos. Como puedo hacer para especificar una columna en particular??

Bueno me maté escribiendo Espero que alguien me ayude.
Si no me entienden sigo aclarando

Saludos
Responder Con Cita
  #4  
Antiguo 04-12-2005
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: dic 2004
Posts: 882
Poder: 20
Héctor Randolph Va por buen camino
Lightbulb Sugerencia

Hola Velia

Con respecto a tu duda, me gustaría sugerir que utilices este componente, veo que has intentado muchas cosas y no estaría de más probarlo.

Desde el día de ayer tenía pensado responder pero no estoy seguro de que sea la solución definitiva a tu problema.

La cuestión es que se trata de un DBGrid extendido, entre otras cosas muestra autómaticamente el contenido de los campos blob y memo.

Por otra parte, saliendo un poco del tema, te recomiendo que cuando publiques código utilices las etiquetas que proporciona el foro para mejorar la legibilidad, por ejemplo las etiquetas [ delphi] [/delphi], [ code] [/code], [ sql][/sql], etc.

Aquí puedes encontrar más información al respecto:

Uso de las nuevas etiquetas vB

Un saludo
Responder Con Cita
  #5  
Antiguo 04-12-2005
Velia Velia is offline
Miembro
 
Registrado: oct 2005
Posts: 71
Poder: 19
Velia Va por buen camino
Gracias por la ayuda. pero te hago una preguntita

Acabo de bajar el componente que me dijiste.
La duda que tengo es que lo instalé pero parece que lo hice mal porque no aparece.
NO dice nada, no tiene un readme de cómo instalarlo.

Se supone que en la carpeta smcmpnt\Resources\Spa copio el SMCnst.pas en la libreria y de allí lo instalo al paquete

Pero no veo el componente

Te agradezco la ayuda
Saluditos
Velia
Responder Con Cita
  #6  
Antiguo 04-12-2005
Avatar de Héctor Randolph
[Héctor Randolph] Héctor Randolph is offline
Miembro Premium
 
Registrado: dic 2004
Posts: 882
Poder: 20
Héctor Randolph Va por buen camino
En la carpeta Smcmpnt\Sources, busca los archivos (*.dpk) Delphi Packages.

Por ejemplo si tienes instalado el Delphi 7 el archivo que te sirve sería smcmpntD7.dpk.

Abre el archivo con Delphi y seleccionas las opciones de compilar e instalar.

Finalmente asegurate de incluir la carpeta 'Smcmpnt\Sources' en la lista de rutas de delphi Tools->Environment Options->Library Path con debería ser suficiente.

Por otra parte, la carpeta 'smcmpnt\Resources\Spa' contiene los recursos en español para que el componente traduzca las cadenas a nuestro idioma (es opcional instalarlos).

Un saludo.
Responder Con Cita
  #7  
Antiguo 05-12-2005
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.293
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
Como alternativa y si quieres utilizar el DBGrid estandard de delphi puedes utilizar éste componente de mi página: TCustomizeGrid.
Te permite dibujar campos de tipo memo como texto y Booleanos como checkbox con sólo "soltarlo" en un form y configurarle un par de propiedades, sin líneas de código y sin cambiar el componente.
__________________
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
  #8  
Antiguo 05-12-2005
Velia Velia is offline
Miembro
 
Registrado: oct 2005
Posts: 71
Poder: 19
Velia Va por buen camino
Muchas gracias la ayuda

Ya solucioné mi problema por eso quiero agradecerte Héctor la verdad el componente me sirvió un montón. ya lo intalé y lo estoy usando.

Y también Muchas Gracias Neftali porque voy a incluir tu componente al componente que me recomendó Héctor para que sea mas completo

Saludos
Velia
Responder Con Cita
  #9  
Antiguo 05-12-2005
Velia Velia is offline
Miembro
 
Registrado: oct 2005
Posts: 71
Poder: 19
Velia Va por buen camino
No pude instalar tu componente

Hola Neftali de nuevo.
Me adelanté a responderte. Bajé tu componente tiene características muy útiles pero el problema es que tengo delphi2005 enterprise e intenté de compilar el componente que me dijiste pero tengo un error. Si me decís que hay una versión para 2005 la bajo de nuevo.


Saludos
Responder Con Cita
  #10  
Antiguo 05-12-2005
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.293
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
La verdad es que no lo he probado. Déjame que lo mire y te digo algo.
Gracias por el comentario.
__________________
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
  #11  
Antiguo 05-12-2005
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.293
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
Cita:
Empezado por Velia
...tengo delphi2005 enterprise e intenté de compilar el componente que me dijiste pero tengo un error. Si me decís que hay una versión para 2005 la bajo de nuevo.
¿Qué error te ha dado?
Lo acabo de compilar e D2005 (Architect) y no me ha dado ningun error y me lo ha instalado correctamente.
__________________
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
  #12  
Antiguo 05-12-2005
Velia Velia is offline
Miembro
 
Registrado: oct 2005
Posts: 71
Poder: 19
Velia Va por buen camino
Tienes razón

Disculpa las molestias pasa que en mi trabajo lo instalé y me dio un error la verdad no hice mucho incapié porque estaba programando otras cosas.
Acabo de instalarlo en mi casa y está de 10
Muchas Gracias por todo y disculpa las molestias y el tiempo que te hice perder

Saludos

Me han sacado de cada apuro!!!!! Porque estoy haciendo mi tesis y ando contra reloj, este foro y la gente que lo compone son de maravilla
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 05:31:34.


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