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 02-02-2021
dfarias dfarias is offline
Miembro
 
Registrado: abr 2007
Posts: 79
Poder: 18
dfarias Va por buen camino
Cxgrid celda readonly

Quisiera saber si existe alguna forma de poder hacer que algunas celdas de un Cxgrid puedan convertirse, en runtime, a READONLY según el valor del registro. Todo el grid será editable pero si el valor que tiene un determinado registro es x solo podra modificar algunas columnas/celdas.
Responder Con Cita
  #2  
Antiguo 02-02-2021
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Dentro de la propiedad Properties de las columnas del cxGrid tienes la propiedad ReadOnly, que puedes cambiar en ejecución:

Código Delphi [-]
// Por ejemplo en el evento OnDBTableViewFocusedRecordChanged puedes hacer...
CodigoColumn.Properties.ReadOnly := ...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #3  
Antiguo 02-02-2021
dfarias dfarias is offline
Miembro
 
Registrado: abr 2007
Posts: 79
Poder: 18
dfarias Va por buen camino
Si no entiendo mal lo que tu comentas es valido para una columna.

tipo dato 1 dato 2 dato 3 dato 4 dato 5
1 Carga peso 1000 bcn
2 Carga litros 200
J Descarga bultos 4
X Descarga pack amarilla amarilla
1 Carga peso 1000 bcn
2 Carga litros 200
J Descarga bultos 4

Pero lo que intento hacer es que por ejemplo si el valor de tipo es X no deje modificar las celdas amarillas

Pongo la imagen (con columnas) para que se entienda mejor.


Última edición por Neftali [Germán.Estévez] fecha: 02-02-2021 a las 12:48:31.
Responder Con Cita
  #4  
Antiguo 02-02-2021
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Con un código como este:


Código Delphi [-]
procedure TForm1.cxGrid1DBTableView1Editing(Sender: TcxCustomGridTableView;
  AItem: TcxCustomGridTableItem; var AAllow: Boolean);
var
  ARecordIndex: Integer;
  AValue: Variant;
begin
  if (AItem.Index = cxGrid1DBTableView1dato3.Index) or (AItem.Index = cxGrid1DBTableView1dato5.Index) then
  begin
    ARecordIndex := cxGrid1DBTableView1.DataController.FocusedRecordIndex;
    AValue := cxGrid1DBTableView1.DataController.Values[ARecordIndex, cxGrid1DBTableView1dato2.Index];
    AAllow := (AValue <> 'pack');
  end;
end;

Consigues que la columna dato3 y dato5 sean ReadOnly si el valor de dato2 es igual a "pack".
Puedes modificar las condiciones como necesites.




También se puede hacer de otras formas.
Aquí tienes un ejemplo utilizando el evento OnEditing.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #5  
Antiguo 11-02-2021
dfarias dfarias is offline
Miembro
 
Registrado: abr 2007
Posts: 79
Poder: 18
dfarias Va por buen camino
Cxgrid celda readonly

Perdón por no responder antes pero salte a otro proyecto y aqui vuelvo otra vez. Perfecto es justamente lo que no lograba conseguir. Muchas gracias Germán.
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
TEdit - Readonly Jose_Pérez OOP 20 14-05-2012 09:07:13
Como insertar en una determinada celda de un cxgrid?? AFilth Varios 0 21-11-2006 08:54:51
cxGrid devexpress. Colorear una celda sakuragi OOP 6 10-02-2006 20:15:50
readonly dataset n0n3 SQL 13 27-04-2005 01:24:45
IBDataSet readOnly???? Giniromero Conexión con bases de datos 2 01-10-2003 11:14:04


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


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