• Sábado 15 de Marzo de 2025, 07:00

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - bartolomeo

Páginas: 1 [2]
26
Trucos / Checkbox En Dbgrid
« en: Jueves 28 de Julio de 2005, 17:17 »
Hola muchachos:

1. Nos escriben muy poco al foro hay que hacer algo  :blink:
2. este codigo es para crear checkbos dentro de un dbgrid, es muy util por que no esta señido a campo boolean si no para campos integer y varchar, lo unico que hay que hacer de mas es que la grilla no debe tener la opcion dgalwaysdhoweditor en true:

Este codigo es para pintar el check dentro del dbgrid

Citar
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
var
Check: Integer;
begin
{ Compruebo antes si la tabla está vacía. }
 if not IBDataset3.IsEmpty then
 begin
{ Campo 1. }
  if CompareText(Column.FieldName, 'nomesp_comp') = 0 then
  begin
    Check := 0;
  if IBDataset3['nomesp_comp'] = '1' then
   Check := DFCS_CHECKED;
   dbGrid1.Canvas.FillRect(Rect);
   DrawFrameControl(dbGrid1.Canvas.Handle, Rect,
   DFC_BUTTON, DFCS_BUTTONCHECK or Check);
  end
else
dbgrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);

{ Campo 2. }
 if CompareText(Column.FieldName, 'item_subcomp') = 0 then
 begin
 Check := 0;
  if IBDataset3['item_subcomp'] = '1' then
   Check := DFCS_CHECKED;
   dbGrid1.Canvas.FillRect(Rect);
   DrawFrameControl(dbGrid1.Canvas.Handle, Rect,
   DFC_BUTTON, DFCS_BUTTONCHECK or Check);
  end
else
dbgrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);

{ Campo 3. }
 if CompareText(Column.FieldName, 'flag_subcomp') = 0 then
  begin
  Check := 0;
   if IBDataset3['flag_subcomp'] = '1' then
      Check := DFCS_CHECKED;
      dbGrid1.Canvas.FillRect(Rect);
      DrawFrameControl(dbGrid1.Canvas.Handle, Rect,
     DFC_BUTTON, DFCS_BUTTONCHECK or Check);
   end
 else
   dbgrid1.DefaultDrawColumnCell(Rect,DataCol,Column,State);
 end;
end;


Este codigo es para cambiar el checkbox de checked a unchecked:  :devil:

Citar
procedure TForm1.DBGrid1CellClick(Column: TColumn);
begin
if Column.FieldName = 'FLAG_SUBCOMP' then
   begin
     IBDataset3.Edit;
     if IBDataset3.FindField('FLAG_SUBCOMP').AsInteger = 1 then
       IBDataset3.FindField('FLAG_SUBCOMP').AsInteger := 0
     else
       IBDataset3.FindField('FLAG_SUBCOMP').AsInteger := 1;
       IBDataset3.Post;
       Dbgrid1.Repaint;
     end;
end;

Espero les sea util  :P , y recuerden escrbir a este foro cada vez que tengan una duda  :alien: , asi las solucionamos todos  :comp:

27
Delphi / Un Campo Consecutivo Que No Sea Un Tigger
« en: Martes 21 de Junio de 2005, 21:13 »
Hola foro, de los millones de problemas que tengo en mi base ahora me surge uno que me impide trabajar...  :comp:    Resulta que tengo una tabla que se llama producto y otra que es subproducto el producto maneja codigos de identificacion como 100, 200, 300 pero el subproducto se identifica con el codigo del producto y se le agregaun indicador por ejemplo

CODIGO      ITEM    NOMBRE

100               1      TELEFONO SAMSUNG

100               2      TELEFONO KYOCERA

100               3      TELEFONO SONY



el campo item lo intente generar con un tigger pero ocurre un problema si yo he creado los 3 registros mostrados en el ejemplo anterior y deseo crear un codigo nuevo por decir 200 miren lo que pasa:



CODIGO      ITEM    NOMBRE

200               4      TELEVISOR SAMSUNG

200               5      TELEVISOR KYOCERA



Como podria hacer para que item sea generado automaticamente pero que tome en cuenta el codigo y cuando sea un nuevo codigo empiece desde uno y cuando no sea nuevo entonces tome el ultimo valor y se incremente



UFFF le agradeceria a cualquiera que me pudiera ofrecer una solucion  :alien:

28
Delphi / Dbedit Guardar Contenido En Varias Tablas
« en: Lunes 20 de Junio de 2005, 22:25 »
Buenas Tardes Foro soy nuevo en esto y se me presenta en estos momentos un inconveniente:

Uso Delphi 6 professional y como base de datos interbase y uso un DBEdit para pedir el codigo de producto dado que por especificaciones claras de la aplicacion este campo no puede ser autoincremental, el problema es que lo que esta en el DbEdit debe ser guardado en dos tablas distintas en Producto y en Subproducto respectivamente como se puede hacer esto??? gracias.

Páginas: 1 [2]