Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-07-2012
dfarias dfarias is offline
Miembro
 
Registrado: abr 2007
Posts: 79
Poder: 18
dfarias Va por buen camino
Bloquear filas en dbgrid

La consulta es la siguiente, al dezplegar en una cxgrid asociada a una query necesito que algunas de la filas mostradas no se puedan seleccionar (disabled o algo asi). Es posible esto? Muchas gracias.
Responder Con Cita
  #2  
Antiguo 25-07-2012
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Hola.

Creo que podrías valerte del evento OnEditing de la vista cx. Si asignas False al parámetro Boolean AAllow, lograrás evitar que el usuario modifique el valor de la celda que está intentando editar, y por lo mismo te sirve para toda una fila.

Seguramente hay otros caminos, pero este es el que a bote pronto se me ocurre.

Agrego: Ahora que leo tu pregunta nuevamente, noto que escribiste seleccionar y no editar. En ese caso OnCanSelectRecord es un evento más apropiado, según se describe en la propia ayuda:

Cita:
TcxCustomGridTableView.OnCanSelectRecord

Occurs before selecting a grid record.

Código Delphi [-]
type
  TcxGridCanSelectRecordEvent = procedure(Sender: TcxCustomGridTableView;
    ARecord: TcxCustomGridRecord; var AAllow: Boolean) of object;

property OnCanSelectRecord: TcxGridCanSelectRecordEvent;

Description

The OnCanSelectRecord event is fired only when the view’s OptionsSelection.MultiSelect property is set to True. Use this event to control record selection. The Sender parameter identifies the affected view and the ARecord parameter specifies the record to be selected. To enable record selection, set the AAllow parameter to True. This adds the current record to the collection of selected records.

Indexed access to selected records in default loading mode (when the GridMode property is set to False) is provided by the view’s Controller.SelectedRecords property. When GridMode is applied, see the view’s DataController.GetSelectedBookmark function to obtain selected records.

If the OnCanSelectRecord event handler sets AAllow to False, records will not be selected. However, OnCanSelectRecord does not allow you to prevent record focusing.

The following example disables selection of a record if its tvItemsSTATUS field denotes the ‘Fixed’ string. The value displayed by the item is determined by the indexed DisplayTexts property.

Código Delphi [-]
procedure TForm1.tvItemsCanSelectRecord(
  Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
  var AAllow: Boolean);
begin
  if ARecord.DisplayTexts[tvItemsSTATUS.Index] = 'Fixed' then

    AAllow := False;
end;

Última edición por Al González fecha: 25-07-2012 a las 00:19:16.
Responder Con Cita
  #3  
Antiguo 25-07-2012
dfarias dfarias is offline
Miembro
 
Registrado: abr 2007
Posts: 79
Poder: 18
dfarias Va por buen camino
Muchas gracias, funciona correctamente.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Bloquear columnas en un DBGRID cmfab Varios 2 26-07-2011 20:27:49
2 Dudas con DBGrid. Bloquear, Modificar = Color georgejg Varios 5 10-04-2008 23:59:19
inmovilizar filas en un DBGrid minos Varios 1 02-10-2004 04:14:59
Tamaño de filas de un dbgrid.... Sinaloense Varios 3 26-10-2003 11:56:21
como bloquear un registro en un dbgrid marcelofabiani Conexión con bases de datos 5 02-10-2003 21:04:01


La franja horaria es GMT +2. Ahora son las 01:39:36.


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