Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   efectos raros del RxDBGrid (https://www.clubdelphi.com/foros/showthread.php?t=4920)

Lepe 02-11-2003 13:45:03

efectos raros del RxDBGrid
 
Tengo un RxDBgrid con las siguientes opciones en tiempo de diseño:

Options = [dgTitles, dgColLines, dgRowLines, dgRowSelect, dgMultiSelect]
ReadOnly = True
Multiselect = True

A ver si puedo darme a entender:

Digamos que tiene 20 columnas y en pantalla solo se ven las 10 primeras columnas
le doy al desplazamiento horizontal para ver la columna nº 15
le doy un clic a una fila y voilá, el grid vuelve a mostrarme las 10 primeras columnas. :(

¿Hay forma de que se quede en la columna nº15 ?

marcoszorrilla 02-11-2003 21:06:46

Eso mismo también le ocurre al Dbgrid normal que viene con Delphi.

Si pulsas en el título y tienes ColumnResize activado te conserva la columna actual, en caso contrario vuelve a colocarse en las x primeras.

Un Saludo.

Lepe 03-11-2003 16:51:27

Gracias Marcos.

Al primer intento no funcionó ya que tambien tenia la opcion dgRowSelect a true. Al parece hay que poner:

Código:

dgColumnResize  := true;
dgMultiSelect := true;

dgRowSelect := false;

Así permite seleccionar varias filas, manteniendose en la columna que se veía. Intuitivamente yo ponia dgRowSelect a true; parece que no hace falta.

¿ Hay alguna ayuda que explique con claridad que al modificar tal o cual opcion altere/excluya otras opciones del grid ? ¿ o eso lo trae la experiencia?

La verdad es que me marea bastante el dichosito componente ;)

Muchas gracias.

__cadetill 03-11-2003 17:38:17

cadado de la ayuda de Delphi

Cita:

type
TDBGridOption = (dgEditing, dgAlwaysShowEditor, dgTitles, dgIndicator, dgColumnResize, dgColLines, dgRowLines, dgTabs, dgRowSelect, dgAlwaysShowSelection, dgConfirmDelete, dgCancelOnExit, dgMultiSelect);

TDBGridOptions = set of TDBGridOption;

property Options: TDBGridOptions;

Description

Set Options to include the desired properties for the data-aware grid. Options is a set drawn from the following values:

Value -- Meaning
dgEditing -- The user can edit data using the grid. dgEditing is ignored if Options includes dgRowSelect.
dgAlwaysShowEditor -- The grid is always in edit mode. That is, the user does not have to press Enter or F2 before editing the contents of a cell. dgAlwaysShowEditor does nothing unless dgEditing is also included in Options. dgAlwaysShowEditor is ignored if Options includes dgRowSelect.
dgTitles -- Titles appear at the top of the columns in the grid.
dgIndicator -- A small pointer appears in the first column to indicate which row is current.
dgColumnResize -- Columns that are bound to fields can be resized or moved.
dgColLines -- Lines appear between columns in the grid.
dgRowLines -- Lines appear between the rows of the grid.
dgTabs -- The user can navigate through the grid using the Tab and Shift+Tab keys.
dgRowSelect -- The user can select an entire row, as well as selecting individual cells. If Options includes dgRowSelect, dgEditing and dgAlwaysShowEditor are ignored.
dgAlwaysShowSelection -- The selected cell displays the focus rectangle even when the grid does not have focus.
dgConfirmDelete -- A message box appears, asking for confirmation, when the user types Ctrl+Delete to delete a row in the grid.
dgCancelOnExit -- When the user exits the grid from an inserted record to which the user made no modifications, the inserted record is not posted to the dataset. This prevents the inadvertent posting of empty records.
dgMultiSelect -- More than one row in the grid can be selected at a time.
Queda mejor visto en la ayuda, pero bueno :p

Espero te sirva

Lepe 04-11-2003 10:29:27

Gracias por las molestias que te has tomado cadetill, pero creo que el que no se explicó con
claridad fuí yo.

Lo que no dice en la ayuda es que si pones dgColumnResize, además de permitir cambiar el ancho de las columnas, también te permite con el boton derecho cambiar las columnas de sitio, y en este caso, el popupMeu que se asocia al grid no se muestra correctamente :( (Hay que dar un doble clic con el boton derecho para que aparezca el popup)

Tampoco dice en la ayuda esto:
Cita:

Si pulsas en el título y tienes ColumnResize activado te conserva la columna actual
A estos tipos de comportamientos era a lo que me referia, desde luego no es lógico que al poner una Opción, se pase por alto otras, o el componente decida alegremente lo que ha de hacer.
Es como subir a un taxi y decir.... "al centro", y el conductor, arrancando el coche te responde: "NO. Yo le llevo a las afueras" :P

En mi humilde opinión, creo que el componente debería tener mas "Options" tales como [RightButtonMoveColumn, AllowColumnMove, PreserveVisibleColumns]. Así quedaría más claro el comportamiento que va a tomar.


¿Algún Valiente que las añada? :p


La franja horaria es GMT +2. Ahora son las 10:53:56.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi