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
  #21  
Antiguo 06-10-2010
Avatar de Wbarrantes
Wbarrantes Wbarrantes is offline
Miembro
 
Registrado: ago 2010
Posts: 119
Poder: 14
Wbarrantes Va por buen camino
solucion

bueno encontre una solucion, tal ves no sea la mas adecuada, pero bueno...

como se desmadraba cuando el dataset encontraba un espacio en blanco o sin un valor asignado... entonces tuve que recurrir a la implementacion del siguiente metodo... lo pongo para retroalimentar la pagina con una solucion final....


Código Delphi [-]
 
procedure TForm1.Refill(Data : TDataSet);
var
 i : integer;
  archivo : TStringList;
  s:String;
begin
    //  showmessage('esto no sirve');
  //Data.First;
    while not(Data.eof) do
     begin
        s:='';
       for i := 0 to dbgrid1.Columns.Count-1 do
        begin
           s:= Data.FieldByName(DBGrid1.Columns[i].FieldName).asString  ;
           if (s='')or (s=' ') then
           begin
             s:='$$';
           end;
          Data.Edit;
          Data.FieldByName(DBGrid1.Columns[i].FieldName).asString := s;
        end;
        data.Next;
      end;
           showmessage('esta porqueria no sirve, debe tener un valor asignado si viene en blanco se desmadra');
end;


Esto para la primera solucion que empezamos a construir, gracias a los comentarios de uds, aqui en el foro... pero que habia desechado por el problema del field required... cuando habia un espacio vacio en la tabla de la base de datos o consulta sql...
(por cierto si alguien averigua por que de ese error, les agradesco, al menos para proyectos a futuro)


en cuanto al evento ongettext()... es una idea bastante convincente... pero cada vez que se mueve la ventana, se da clic en el DBgrid, o cualquier cosita minima... el evento se dispara, por lo que al menos para este caso no es muy recomendable, ademas del problema que me tope, de que el evento modifica todas las columnas a las que se lo asignaba, de manera integral, pues las variables que se leenvian de parametros ya estan definidas... y si se maneja con gobales, se hace un arroz con leche para poder manejar con diferentes eventos cada columna, sobre todo cuando siempre son N columnas...

muchas gracias a todos, por sus aportes,
___________________________________________________________
hoy aprendi algo, que ayer no sabia...
Responder Con Cita
  #22  
Antiguo 06-10-2010
Avatar de Wbarrantes
Wbarrantes Wbarrantes is offline
Miembro
 
Registrado: ago 2010
Posts: 119
Poder: 14
Wbarrantes Va por buen camino
gracias

Cita:
Empezado por JoseAntonio Ver Mensaje
dependiendo de los componentes que estas usando para datos, deberias usar algo asi como un tquery

y generar tu update a mano ejemplo

SQLStr := 'UPDATE MITABLA SET CAMPOAACTUALIZAR = ' + MiMetodoEncriptador(parametro) + ' where clave = ' + .... etc
EjecutarSQL(SQLStr); // debes implementar esa funcion en tu aplicacion;

modificas los datos y luego refrescas tus componentes de datos para que se refresquen tus cambios, asi te evitas tantas complicaciones con datasources datasets eventos y otras yerbas, suerte :-)

JoseAntonio: muchas gracias, pero el detalle esta en que no es una tabla fija, sobre la que se hace la consulta, y que la encryptacion de la informacion se hace solo para presentarla al cliente... No a nivel de la base de datos...

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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Error de Edicion con DBGrid chipcrazy Varios 1 06-11-2008 12:40:51
Edición de un DBGRID luxus Conexión con bases de datos 1 13-02-2007 11:34:26
DBGrid. Contenido de celda en edicion ManelC Varios 2 06-07-2006 23:01:18
Edicion DBGrid Caro Conexión con bases de datos 2 09-06-2006 18:02:26
DBGRID detectar fin de edicion de campo andrestsas Tablas planas 2 12-08-2003 17:11:02


La franja horaria es GMT +2. Ahora son las 04:58:26.


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