Estimados buenas noches.
Estoy trabajando con un TDBadvGrid el cual lleno desde un SP de SQL, necesito darle un formato especial separado por "|" a las líneas para luego exportarlo a un archivo plano. Intento leer la grilla para cargarla otra y darle el formato que necesito pero al leer la primera grilla, por alguna razón solo me lee datos de las filas y columnas que están visibles por el scroll, es decir, si la primera vista me muestra 14 filas, en la número 15 la muestra en blanco, pero si muevo el scroll a la línea 15 y posiciono el puntero del mouse sobre la misma línea, recien me muestra el valor.
Por esta razón al intentar leer la grilla completa recorriendola y al llegar a las líneas que nos están visibles se muestra valores en blanco.
Gracias por su apoyo.
saludos.

TDBadvGrid con problemas para leer información
Comenzado por
bcp9520
, sep 11 2013 06:17
7 respuestas en este tema
#1
Escrito 11 septiembre 2013 - 06:17
#2
Escrito 11 septiembre 2013 - 06:45
No conozco ese grid pero al tener ese db en el nombre asumo que se conecta a un dataset De ser así debes recorrer este dataset en lugar del grid
#3
Escrito 11 septiembre 2013 - 07:03
eduarcol gracias por tu respuesta.
TDBadvGrid, es un componente TMS Grid DBadvGrid, entiendo lo que me indicas hare la prueba y te comento.
gracias.
TDBadvGrid, es un componente TMS Grid DBadvGrid, entiendo lo que me indicas hare la prueba y te comento.
gracias.
#4
Escrito 11 septiembre 2013 - 07:43
Estimados, no logro cargar la grilla en forma manual recorriendo el dataset.
Me pueden ayudar.
gracias.
Me pueden ayudar.
gracias.
#5
Escrito 11 septiembre 2013 - 08:47
Estimados, no logro cargar la grilla en forma manual recorriendo el dataset.
Me pueden ayudar.
gracias.
Intenta con esto:
delphi
procedure Tform1.ExportarDataset; var D: TDataset; L: TStringList; S: CHAR; // SEPARADOR begin D:= TuDataset; S := ','; // o el caracter que quieras L := TStringList.Create; try D.First; while not D.Eof do begin L.Add( D.FieldByName('NOMBE_CAMPO_1').Text + s + D.FieldByName('NOMBE_CAMPO_2').Text + s + D.FieldByName('NOMBE_CAMPO_N').Text ); D.Next; end; L.SaveToFile('Ruta del archivo'); finally L.Free; end; end;
#6
Escrito 12 septiembre 2013 - 12:23
Estimado Wilson, me fue bien con la ayuda que me entregaste, pude recorrer el dataset sin problemas y la exportación del archivo quedo perfecta.
muchas gracias.
saludos cordiales.
muchas gracias.
saludos cordiales.
#7
Escrito 12 septiembre 2013 - 04:27
Me alegra que hayas solucionado, hay que asegurarse de que el usuario no toque el grid ni los controles asociados al dataset durante la exportación, para lograr eso agrega un par de líneas al procedimiento:
delphi
procedure Tform1.ExportarDataset; var D: TDataset; L: TStringList; S: CHAR; // SEPARADOR begin D:= TuDataset; S := ','; // o el caracter que quieras L := TStringList.Create; try D.DisableControls; //Inhabilita los controles D.First; while not D.Eof do begin L.Add( D.FieldByName('NOMBE_CAMPO_1').Text + s + D.FieldByName('NOMBE_CAMPO_2').Text + s + D.FieldByName('NOMBE_CAMPO_N').Text ); D.Next; end; L.SaveToFile('Ruta del archivo'); finally L.Free; D.EnableControls;//Habilita los controles end; end;
#8
Escrito 13 septiembre 2013 - 08:48
Perfecto... buen dato.
muchas gracias nuevamente.
muchas gracias nuevamente.