PDA

Ver la Versión Completa : ordener dbgrid por columnas


lbidi
06-10-2003, 22:22:27
Hola, recien comienzo con esta maravilla de Delphi, por lo cual tengo unas preguntas:

He diseñado una pequeña agenda ( nombre, direccion, telefono ) con paradox con un indice secundario por cada campo. Todo bien hasta ahora. La muestro en una grilla y todo.

Mi pregunta es como hago para que se me ordene la grilla clickeando en el titulo de la columna, teniendo cada columna definida como el campo?

Gracias
Salu2

:D

roman
06-10-2003, 23:04:59
No hay una manera inmediata ya que el DBGrid mostrará los datos en el orden en que vengan de la base de datos.

Una opción sería agregar un índicepor cada columna a tu tabla y en el evento OnTitleClick del DBGrid cambiar el índice al que corresponda en la columna.

Otra forma sería alimentar al DBGrid con un Query en lugar de un Table. En el evento OnTitleClick actualizarías la consulta así:


Query.SQL.Text := 'select * from agenda order by ' + Column.Field.FieldName;
Query.Open;


Una tercera opción, quizá no tan conveniente si estás empezando, es usar ClientDataSets que te permiten indexar por cualquier columna sin necesidad de agregar índices a tu tabla.

// Saludos

__cadetill
07-10-2003, 03:38:30
para una demo de la segundo opción que te presenta Román, puedes pasarte por mi web y ver el ejemplo que hay sobre el TRxDbGrid

lbidi
07-10-2003, 14:53:17
Muchas gracias, a ambos. Intentare vuestros consejos.

Saludos.

Leonardo