Hola todos..
necesito me orienten en un problema que tengo.
Tengo un form donde hay una grilla que muestra TODOS los registros de un TTable (firebird 2.1.4, componentes zeos).
Adem�s hay botones para agregar/eliminar/modificar esos registros.
A ese TTable le hice clic derecho/editar campos y agregu� todos los campos de la tabla y adem�s cree 4 campos lookup para que por ejemplo en vez de que se vea el c�digo del operario se vea el nombre, etc. En el grid se visualizan solo el n�mero de registro, la fecha y esos 4 campos lookup.
Como esos 4 campos son claves for�neas de otras tablas, hay �ndices.
En el evento onTitleClick, se ordenan los datos seg�n la columna clickeada. Uso este c�digo:
procedure TABMF03.DBGrid1TitleClick(Column: TColumn);
var
temp : ZAbstractRODataset.TSortType;
const
PreviousColumnIndex: integer = 0;
begin
try
DBGrid1.Columns[PreviousColumnIndex].title.Font.Style :=
DBGrid1.Columns[PreviousColumnIndex].title.Font.Style - [fsBold];
except
end;
Column.Title.Font.Style:= Column.Title.Font.Style + [fsBold];
PreviousColumnIndex := Column.Index;
temp := dbForm03.SortType;
dbForm03.SortedFields := Column.FieldName;
if temp = stAscending then begin
dbForm03.SortType := stDescending;
DBGrid1.Columns[PreviousColumnIndex].Title.ImageIndex:= 1;
end else begin
dbForm03.SortType := stAscending;
DBGrid1.Columns[PreviousColumnIndex].Title.ImageIndex:= 0;
end;
end;pero con una simple tabla de 10mil registros, ordenar por esos campos lookup lo hace MUY LENTO y adem�s, en la mayor�a de las veces se cuelga el sistema.
Otra cosa es que cuando agrego un registro a esa tabla, el guardar tb se hace mUY lento.. y solo hago 1 insert en esa tabla y hasta 6 inserts m�s en otra de detalle
Se que es un disparate mostrar todos los registros de esa tabla.. pero en un principio es lo que ellos quer�an.
Se que deber�a quiz�s redise�ar ese form para que se muestre solo determinados registros y quiz�s eso haga que no se enlentezca al ordenar por X columna y al grabar.
El concepto es como si fuera un listado de facturas, con posibilidad de agregar, borrar, eliminar, imprimir las mismas.
Agradezco cualquier idea..
byeeeeeeeee
