![]() |
![]() |
| Paypal | 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
|
|||
|
|||
|
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 |
|
#2
|
||||
|
||||
|
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 |
|
#3
|
|||
|
|||
|
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 |
|
#4
|
||||
|
||||
|
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. |
|
#5
|
||||
|
||||
|
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. |
|
#6
|
|||
|
|||
|
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 completoSaludos Velia |
|
#7
|
|||
|
|||
|
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 |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|