Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-10-2004
Phacko Phacko is offline
Miembro
 
Registrado: jul 2004
Posts: 157
Poder: 20
Phacko Va por buen camino
UpperCase en DBGrid

Hola a todos.

Tengo una duda, ¿Hay algun "equivalente" de Caption o Text en el DBGrid para cada celda, para tener todo el texto en mayúsculas?

Gracias por su atención.
Buen día.
Responder Con Cita
  #2  
Antiguo 15-10-2004
Hugo Hugo is offline
Miembro
 
Registrado: may 2003
Ubicación: Córdoba (España)
Posts: 38
Poder: 0
Hugo Va por buen camino
Siempre puedes especificar en la tabla o consulta, y a nivel de campo como quieres que se introduzcan los datos, con los cual seran pasado a mayusculas, minusculas o lo que quieras.
Responder Con Cita
  #3  
Antiguo 15-10-2004
Phacko Phacko is offline
Miembro
 
Registrado: jul 2004
Posts: 157
Poder: 20
Phacko Va por buen camino
En run time

Que tal... gracias por responder.

Sucede que las tablas las creo dinamicamente, y es aqui donde no he sabido como indicar que el contenido de los registros se guarde en mayúsculas (por ejemplo), cabe mencionar que la captura de los registros (como fue obvio) se realiza en el mismo DBGrid.

Gracias.
Responder Con Cita
  #4  
Antiguo 23-10-2004
Hugo Hugo is offline
Miembro
 
Registrado: may 2003
Ubicación: Córdoba (España)
Posts: 38
Poder: 0
Hugo Va por buen camino
Aunque crees la tabla dinamicamente, siempre puedes acceder al campo asociado a cada columna, y manipular las propiedades que te interesen:

DBGrid1.Columns[0].Field.EditMask:='>';

Si lo asocias el código a la creación del formulario, de la rejilla o a la apertura de la tabla, ..., donde mejor te convenga en cada momento, puedes controlar todo lo que desees, o casi.

Saludos.
Responder Con Cita
  #5  
Antiguo 23-10-2004
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
Prueba esto:
Código Delphi [-]
Uses
...
type
 {Truco para que Convierta de Minúsculas a Mayúsculas en las Celdas
  del dbGrid}
  TDBGrid = class(DBGrids.TDBGrid)
  protected
    function CreateEditor: TInplaceEdit; override;
  end;
public
....
end;
  THackEdit = class(TCustomEdit);
var
...

implementation
//Convierte de Minúsculas a Mayúsculas en Celdas del dbGrid
function TDBGrid.CreateEditor: TInplaceEdit;
begin
  Result := inherited CreateEditor;
  THackEdit(Result).CharCase := ecUpperCase;
end;

Espero te sirva esto.
Saludos.
Responder Con Cita
  #6  
Antiguo 23-10-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Este código me suena conocido

// Saludos
Responder Con Cita
  #7  
Antiguo 23-10-2004
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
Si, me lo proporcionó el Sr. Neftali....

Que tenga buen día.
Responder Con Cita
  #8  
Antiguo 23-10-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por AGAG4
Si, me lo proporcionó el Sr. Neftali....
¿Ah sí?

Creo que debes revisar un poco tus referencias

// Saludos
Responder Con Cita
  #9  
Antiguo 23-10-2004
Avatar de AGAG4
AGAG4 AGAG4 is offline
Miembro
 
Registrado: ago 2004
Ubicación: Los Mochis, Sinaloa, México
Posts: 1.420
Poder: 21
AGAG4 Va por buen camino
A poco usted me lo envio????
Si es asi le pido disculpas Sr. Roman.
Responder Con Cita
  #10  
Antiguo 31-10-2004
Phacko Phacko is offline
Miembro
 
Registrado: jul 2004
Posts: 157
Poder: 20
Phacko Va por buen camino
A Todos.....

Gracias por su tiempo y ayuda.
Responder Con Cita
  #11  
Antiguo 23-06-2011
Avatar de makina
makina makina is offline
Miembro
 
Registrado: oct 2005
Ubicación: Mexico DF.
Posts: 27
Poder: 0
makina Va por buen camino
Solo un campo en mayusculas

Hola hay forma de adaptar este codigo a un solo campo y no a todo el dbgrid?

Código Delphi [-]
Uses
...
type
 {Truco para que Convierta de Minúsculas a Mayúsculas en las Celdas
  del dbGrid}
  TDBGrid = class(DBGrids.TDBGrid)
  protected
    function CreateEditor: TInplaceEdit; override;
  end;
public
....
end;
  THackEdit = class(TCustomEdit);
var
...

implementation
//Convierte de Minúsculas a Mayúsculas en Celdas del dbGrid
function TDBGrid.CreateEditor: TInplaceEdit;
begin
  Result := inherited CreateEditor;
  THackEdit(Result).CharCase := ecUpperCase;
end;

Gracias de antemano.
Responder Con Cita
  #12  
Antiguo 23-06-2011
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por makina Ver Mensaje
Hola hay forma de adaptar este codigo a un solo campo y no a todo el dbgrid?
Podemos intentar algo, pero tiene sus bemoles.

Primero creas el derivado de TDBGrid como antes, redefiniendo su método CreateEditor y también creas un derivado de TInplaceEdit para redefinir su método UpdateContents:

Código Delphi [-]
type
  TDBGrid = class(DBGrids.TDBGrid)
  protected
    function CreateEditor: TInplaceEdit; override;
  end;

  TInPlaceEditEx = class(TInplaceEdit)
  protected
    procedure UpdateContents; override;
  end;

UpdateContents se llama cada vez que se muestra el editor, así que es el que aprovechamos para actualizar la propiedad CharCase.

La implementación de ambos métodos sería así:

Código Delphi [-]
function TDBGrid.CreateEditor: TInplaceEdit;
begin
  Result := TInplaceEditEx.Create(Self);
end;

procedure TInplaceEditEx.UpdateContents;
begin
  CharCase := TEditCharCase((Grid as TDBGrid).SelectedField.Tag);
end;

Es decir, asignamos CharCase, según el valor de la propiedad Tag del campo activo (0-ecNormal, 1-ecUpperCase, 2-ecLowerCase). Normalmente, esta propiedad será igual a 0, por lo que todo queda igual.

Pero si en el editor de campos del dataset seleccionas el campo requerido, puedes asignarle 1 a la propiedad Tag y con ello dicho campo se editará en mayúsculas.

Pero, como dije, este método tiene sus bemoles, según comento aquí.

// Saludos
Responder Con Cita
  #13  
Antiguo 23-06-2011
Avatar de makina
makina makina is offline
Miembro
 
Registrado: oct 2005
Ubicación: Mexico DF.
Posts: 27
Poder: 0
makina Va por buen camino
wOW

wOW. Sorprendente. muchas gracias voy a probarlo y regreso con mis comentarios.
Muchas Gracias.
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


La franja horaria es GMT +2. Ahora son las 22:28:53.


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