FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
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 |
#2
|
|||
|
|||
Por las dudas de que no se haya entendido
Solo quiero mostrar Campos Memos en un columna.
|
#3
|
|||
|
|||
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 |
#4
|
||||
|
||||
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 |
#5
|
|||
|
|||
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 |
#6
|
||||
|
||||
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. |
#7
|
||||
|
||||
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. |
#8
|
|||
|
|||
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 |
#9
|
|||
|
|||
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 |
#10
|
||||
|
||||
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. |
#11
|
||||
|
||||
Cita:
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. |
#12
|
|||
|
|||
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 |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
|