Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-04-2015
Lenny Lenny is offline
Miembro
 
Registrado: jun 2007
Posts: 161
Poder: 17
Lenny Va por buen camino
Exclamation

Como comente antes utilizo Firemonkey, en VCL funciona perfecto por eso el error, me a pasado con varios códigos que tuve que rehacer pero en este caso simplemente el componente StringGrid no soporta ciertas características que vienen en el código, saludos y gracias.

PD: si, estoy usando LiveBindings (Firemonkey).
Responder Con Cita
  #2  
Antiguo 08-04-2015
Lenny Lenny is offline
Miembro
 
Registrado: jun 2007
Posts: 161
Poder: 17
Lenny Va por buen camino
Talking Solucionado

estimados, muchísimas gracias por la ayuda, a pura prueba y error y con lo dicho ya lo solucione:

Código Delphi [-]
procedure TUsuarios.StringGrid1DrawColumnCell(Sender: TObject;
  const Canvas: TCanvas; const Column: TColumn; const Bounds: TRectF;
  const Row: Integer; const Value: TValue; const State: TGridDrawStates);
begin
      if (Sender as TStringGrid).Cells[3, Row] = 'Fals' then
  begin
    (Sender as TStringGrid).Cells[3, Row] := 'No';
    end
    else
  if (Sender as TStringGrid).Cells[3, Row] = 'True' then
  begin
    (Sender as TStringGrid).Cells[3, Row] := 'Si';
  end;
(Sender as TStringGrid).Cells[2, Row] := (Sender as TStringGrid).Cells[1, Row] + ' ' + (Sender as TStringGrid).Cells[6, Row];
end;

los primeros 2 IF cambian en el StringGrid los valores True / Fals por Si / NO (puede ser cualquier otro valor, Activado / Desactivado, etc.) y la ultima linea hace lo que necesito, cargar en el StrinGrid en la columna "Nombres" la concatenación del nombres y apellido del usuario cumpliendo con los requisitos de no tocar la estructura de la base de datos.

Solo me queda saber si existe una forma mas elegante y no tan artesanal de hacer esto, y donde mas aparte de DrawColumnCell puedo colocar el código, ya que no me sirve en el Form.Create por si se actualizan los datos.

Gracias por la ayuda y quedo atento a sus comentarios!.
Responder Con Cita
  #3  
Antiguo 08-04-2015
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Poder: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Creo que podes asignar dinámicamente a tu fuente de datos, en el campo Nombre, un manejador en el evento OnGetText

Por ejemplo defino esto en la sección private del form

Código Delphi [-]
procedure Grid_Turnos_Dia_DuracionOnGetText(Sender: TField; var Text: string; DisplayText: boolean);

La asignación dinámica

Código Delphi [-]
Dataset.FieldByName('Duracion').OnGetText := Grid_Turnos_Dia_DuracionOnGetText;

Y la implementación

Código Delphi [-]
procedure TTFMain.Grid_Turnos_Dia_DuracionOnGetText(Sender: TField; var Text: string; DisplayText: boolean);
begin
    if not(Sender.IsNull) then
    begin
        Sender.Alignment := taRightJustify;
        Text := FormatDateTime('HH:MM', Sender.Value);
    end;
end;

Luego con LiveBindigs te recomiendo revisar aca


El evento que usaste, OnDrawCell yo lo dejaría para manejar el aspecto visual del grid en si, es decir, fuente, color de fondo, etc

Última edición por AgustinOrtu fecha: 08-04-2015 a las 10:05:46.
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
Multiplicar 2 celdas de un stringgrid Elite237 OOP 3 11-11-2008 02:02:59
Pintar celdas StringGrid cacu OOP 4 24-10-2007 17:22:21
StringGrid + celdas Makiley Varios 4 01-02-2006 13:01:15
Combinar Celdas Stringgrid MITOPE Varios 0 21-04-2004 07:03:27
bloquear celdas en un stringgrid ciscu Gráficos 1 18-12-2003 18:34:50


La franja horaria es GMT +2. Ahora son las 01:25:33.


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