Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Tablas planas
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-02-2011
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 547
Poder: 17
jhonalone Va por buen camino
Se puede convertir un DBGrid en una StringList?

Hola.
Llevo unos días buscando en el foro esta cuestión y no encuentro respuesta.

Necesito "manipular" los datos de una DBGrid asociado al Detail de un conjunto Master/Detail. Estoy encontrando muchas dificultades para manejar, ordenar ,eliminar filas en el DBGrid.

He pensado convertirlo en una TStringList, mucho más útil a la hora de imprimir y manejar.

Siento molestaros por ésto.

Os agradecería una solución, si es posible.

Gracias.
Responder Con Cita
  #2  
Antiguo 17-02-2011
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Hola jhonalone

Si nos dices que especificamente quieres hacer te podriamos ayudar

Yo realizo varios procesos con DBGrids... y no tengo problemas...

tambien tengo un proceso que me pasa los datos de un DBGrid (Tabla o Query) a un StringGrid solo para poder imprimir en columnas (de la forma que yo quiero) y tambien me va bien...

si te sirve te dejo el código..

Salu2
__________________
BlueSteel
Responder Con Cita
  #3  
Antiguo 18-02-2011
Avatar de ElKurgan
[ElKurgan] ElKurgan is offline
Miembro Premium
 
Registrado: nov 2005
Posts: 1.234
Poder: 20
ElKurgan Va camino a la fama
¿Y por que no usar un TListView en lugar de un TStringList?.

Actualmente mucha gente lo usa para simular Grids.

De echo, he aqui un ejemplo del maestro Marteens:
http://www.marteens.com/trick31.htm

Un saludo

Última edición por ElKurgan fecha: 18-02-2011 a las 07:28:56. Razón: añadir enlace
Responder Con Cita
  #4  
Antiguo 18-02-2011
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
Cita:
Empezado por jhonalone Ver Mensaje
Necesito "manipular" los datos de una DBGrid asociado al Detail de un conjunto Master/Detail. Estoy encontrando muchas dificultades para manejar, ordenar ,eliminar filas en el DBGrid.

He pensado convertirlo en una TStringList, mucho más útil a la hora de imprimir y manejar.
No explicas gran cosa de porqué el cambio, ni de los problemas que tines, pero bueno...

Supongo que bastaría con un recorrido por la tabla que quieres traspasar al TStringList (creo que debes estar pensando en un TStringGrid).
En número de columnas del TStringGrid es el mismo número de coliumnas o campo que te devuelve el TDataset y las filas tantos registros como tenga la tabla.
__________________
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
  #5  
Antiguo 18-02-2011
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 547
Poder: 17
jhonalone Va por buen camino
Traspasar desde DBGrid a TListBox

Bueno, lo primero agradeceros el interés que siempre os tomáis por ayudarnos a los novatos.

Lo segundo: ¡¡¡MIL PERDONES!!! por la redacción precipitada ayer del mensaje. (Me estaban esperando y yo me empeñé en dejar "colgada" mi pregunta, antes de marcharme)
La prisa nunca es buena consejera.

¿En qué estaría yo pensando?. Siento haber llevado vuestros esfuerzos por un camino equivocado.

Veamos.

Donde escribí TStringList, quería decir TListBox.

Lo que pretendo hacer es seleccionar por campos el DBGrid Detail de un conjunto de dos tablas Paradox (Maestro/Detalle). Después realizar cálculos con algunos campos e imprimir el subconjunto seleccionado dependiendo de los resultados calculados. Digamos que es algo como un Cliente(Maestro) que realiza un pedido de varios artículos (Detalle).

Tengo los datos del Cliente en la pantalla y en el DBGrid todos los pedidos que ha hecho. Los pedidos, corresponden a distintas fechas, secciones, representantes, materias... etc.

Hasta aquí todo marcha correctamente.

Ahora quiero seleccionar subconjuntos de pedidos, basados en fechas y/o en secciones y/o en representantes, materias. Y trabajar con estos subconjuntos.

Como pretendo instalar el programa en una pequeña red local, no creo que sea aconsejable utilizar filtros para realizar estos subconjuntos.

No se si estaré equivocado, (pues nunca he trabajado con Bases de Datos), pero pienso que sería más dinámico realizar la primera consulta por cliente, recoger todos los pedidos (Como hago ahora) en un DBGrid, traspasar los datos a un TListBox y trabajar con el TListBox, liberando así las bases de datos para otras consultas desde otros puestos de la red.


Si no está claro, intentaré explicarme mejor.

Solamente os pido que me ayudeis a traspasar el DBGrid a un TListBox

No quiero extenderme más.

¡¡Gracias por vuestra paciencia y vuestra ayuda.!!

Voy a iniciar otro hilo con la pregunta correcta, creo que es lo mejor.
Responder Con Cita
  #6  
Antiguo 18-02-2011
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Poder: 21
AzidRain Va camino a la fama
Recuerda que el grid solo es la representación visual de los datos de la tabla. Si quieres manipular los datos, tienes que irte directo sobre la tabla y así todos los componentes que la utilicen se actualizan solos. No necesitas liberar nada para otras consultas pues el servidor de base de datos lo que haces es mandarte los datos que pediste sin modificar los datos reales. Entiendo que en tablas planas ya esto resulta bastante complicado pues pocos las siguen usando pero te recomiendo que analices como está la lógica.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita
  #7  
Antiguo 18-02-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
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 jhonalone.

Cita:
Solamente os pido que me ayudeis a traspasar el DBGrid a un TListBox

Lo pedido:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  BM: TBookMarkStr;
  i: Integer;
  s: string;
begin
  ListBox1.Clear;
  BM:= DBGrid1.DataSource.DataSet.Bookmark;
  DBGrid1.DataSource.DataSet.DisableControls;
  DBGrid1.DataSource.DataSet.First;
  while not DBGrid1.DataSource.DataSet.Eof do
  begin
    s:= '';
    for i:= 0 to DBGrid1.FieldCount - 1 do
    begin
      s:= s + DBGrid1.Fields[i].AsString;
      if i < DBGrid1.FieldCount - 1 then
        s:= s + '  -  ';
    end;
    ListBox1.Items.Add(s);
    DBGrid1.DataSource.DataSet.Next;
  end;
  DBGrid1.DataSource.DataSet.Bookmark:= BM;
  DBGrid1.DataSource.DataSet.EnableControls;
end;

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #8  
Antiguo 18-02-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
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 jhonalone.

Ahora veo que has publicado el mensaje 'Convertir DBGrid en TListBox' como un nuevo hilo en el foro Tablas planas.
Combiné ambos temas (en ambos tenías respuestas) y elimino uno de los post, ya que es el mismo título y el mismo contenido.

Por favor tratá de evitar la duplicación de los temas, muchas gracias.

Un saludo.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 18-02-2011 a las 19:22:46.
Responder Con Cita
  #9  
Antiguo 20-02-2011
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 547
Poder: 17
jhonalone Va por buen camino
Gracias a todos por vuestros esfuerzos.
Sobre todo aecfisa ,cuyo código funcionó perfectamente.
Gracias a todos.
Un saludo
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
¿se puede convertir codigo VB.net y/o c sharp a delphi? JXJ Varios 1 29-12-2010 11:46:09
¿se puede convertir un texto a una variable? ¿strtovar? cocute Varios 4 20-12-2009 11:55:35
Determinar si un String se puede convertir a Integer David OOP 10 31-10-2008 21:27:41
Problema con consulta,'no se puede convertir tipo string a doble' look SQL 4 29-05-2008 22:00:00
Como convertir un campo VARCHAR a uno BLOB, si se puede? judoboy Firebird e Interbase 10 31-07-2003 17:28:45


La franja horaria es GMT +2. Ahora son las 08:23:50.


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