Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus-es / 2010-05

Poner el "SortMark" en el título de columna

3 messages · 2 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

José Antonio Cuello

Hola, estoy mirando de poner el iconito del sortmark en el TDBGrid, pero no logro hacerlo. He mirado un poco por la documentaci�n de lazarus pero por sortmark no me aparece nada.

Recuerdo que el delphi era algo as� como usar el evento ongetcolumnparams (o algo parecido) pero tampoco he visto el evento en el c�digo fuente db, dbgrid, dbgrids ...

Bueno si alguien sabe indicarme donde buscar o sabe algo al respecto ... gracias

________________________________________________________________________

ARTEX TRADING S.A.
Jos� Antonio Cuello Principal

Reply by email

Jesus Reyes
to José Antonio Cuello

--- El vie 21-may-10, Jos� Antonio Cuello <josea en artextrading.com> escribi�:

Show quoted text 25 lines
De: Jos� Antonio Cuello <josea en artextrading.com> Asunto: [Lazarus-es] Poner el "SortMark" en el t�tulo de columna A: "Lazarus" <lazarus-es en lists.lazarus.freepascal.org> Fecha: viernes, 21 de mayo de 2010, 1:12 Hola, estoy mirando de poner el iconito del sortmark en el TDBGrid, pero no logro hacerlo. He mirado un poco por la documentaci�n de lazarus pero por sortmark no me aparece nada. Recuerdo que el delphi era algo as� como usar el evento ongetcolumnparams (o algo parecido) pero tampoco he visto el evento en el c�digo fuente db, dbgrid, dbgrids ... Bueno si alguien sabe indicarme donde buscar o sabe algo al respecto ... gracias ________________________________________________________________________ ARTEX TRADING S.A. Jos� Antonio Cuello Principal

Hay varias formas, una de ellas es tomando en cuenta que puedes asignar una imagen al titulo de las columnas:

1. agrega un TImageList al formulario.
2. agrega un par de imagenes al imagelist (por ejemplo lazarus/images/actions/arrow_up.png y arrow_down.png)
3. asigna a la propiedad TitleImageList del grid el ImageList
4. agrega las columnas al grid
5. para cada column.Title asigna un valor de ImageIndex

para cambiar la imagen en el evento OnHeaderClick del grid podrias poner algo como esto:

  if Column=nil then
    // click en el titulo de una columna fija o en la columna del indicador
  else
  if Column.Title.ImageIndex=0 then
    Column.Title.ImageIndex := 1
  else
  if Column.Title.ImageIndex=1 then
    Column.Title.ImageIndex := -1
  else
  if Column.Title.ImageIndex<0 then
    Column.Title.ImageIndex := 0;

en este ejemplo la imagen es rotada entre nada y las primeras 2 imagenes del ImageList.

Jesus Reyes A.

Reply by email

José Antonio Cuello
to Jesus Reyes

Muchas gracias. Entiendo pues que no existe una manera incorporada en el componente en s�. Me parece un buen ejemplo as� que lo har� as�.

Muchas gracias de nuevo, y un saludo.

El dom, 23-05-2010 a las 14:03 -0700, Jesus Reyes escribi�:

Show quoted text 14 lines
Hay varias formas, una de ellas es tomando en cuenta que puedes asignar una imagen al titulo de las columnas: 1. agrega un TImageList al formulario. 2. agrega un par de imagenes al imagelist (por ejemplo lazarus/images/actions/arrow_up.png y arrow_down.png) 3. asigna a la propiedad TitleImageList del grid el ImageList 4. agrega las columnas al grid 5. para cada column.Title asigna un valor de ImageIndex para cambiar la imagen en el evento OnHeaderClick del grid podrias poner algo como esto:

________________________________________________________________________

ARTEX TRADING S.A.
Jos� Antonio Cuello Principal

Reply by email