dbgrid


Compártelo ¿Cómo insertar un combo dentro de un dbgrid? unit provincia;   {$mode objfpc}{$H+}   interface   uses Classes, SysUtils, db, FileUtil, Forms, Controls, Graphics, Dialogs, DbCtrls, DBGrids, Grids;   type   { TForm4 }   TForm4 = class(TForm) DBGrid1: TDBGrid; DBLookupComboBox1: TDBLookupComboBox; DBNavigator1: TDBNavigator; dsProvincia: TDataSource; dsPais: TDataSource; procedure DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); private { private declarations } public { public declarations } end;   var Form4: TForm4;   implementation   {$R *.lfm}   { TForm4 }   procedure TForm4.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState); begin if […]

Insertar un Combo de otra tabla en un DBGrid


Compártelo Cómo ordenar una columna en Lazarus Código fuente para ordenar la columna de un dbgrid al pulsar sobre el título de la cabecera. Comprobará si estaba ordenado de forma ascendente, si es así ordenará la columna de forma descendente y si está ordenado de forma descendente ordenará la columna de forma ascendente. Con solo cuatro líneas de código lo tenemos desarrollado. ¡¡¡OjO!!! hay que añadir la clase “ZAbstractRODataset”. También he puesto un label para saber los registros que tenemos y el registro en el que nos encontramos, cambiando cada vez que cambie el datasource.   unit Unit1;   {$mode […]

Ordenar columna ascendente/descentente dbgrid



CompárteloCampo calculado en lazarus     Vamos a crear una columna “Total” para que realice un cálculo simple en un dbgrid “Importe”*”Apunte”       zquery1 botón derecho editar campos Crear un nuevo campo y añadirlo en la posición actual (Insert) Calculados             procedure TDataModule1.ZQuery1CalcFields(DataSet: TDataSet); begin DATASET.FieldByName('Total').Value := dataset.fieldbyname('IMPORTE').Value *dataset.fieldbyname('APUNTE').VALUE; end;procedure TDataModule1.ZQuery1CalcFields(DataSet: TDataSet); begin DATASET.FieldByName('Total').Value := dataset.fieldbyname('IMPORTE').Value *dataset.fieldbyname('APUNTE').VALUE; end; Fuerza y honor.

Campo calculado en Lazarus


CompárteloDbgrid en Lazarus       Veamos ahora como asignar el valor de una variable a un dbgrid en lazarus, realmente lo que haré será actualizar el DataSource que hace de puente entre el dbgrid y el dataset, en este caso una conexión con Zeos ZConnection.   var vfrmCuadre: TfrmCuadre; vEstadillo: String; vFecha: String;   implementation   {$R *.lfm}   { TfrmCuadre }       procedure TfrmCuadre.FormCreate(Sender: TObject); begin DataModule1.ZQuery1.Open; end;   procedure TfrmCuadre.DBGrid1ColExit(Sender: TObject); begin try   if DBGRid1.SelectedIndex = 0 then vEstadillo:=Dbgrid1.Columns[0].Field.Text;   if DBGRid1.SelectedIndex = 2 then vFecha:=Dbgrid1.Columns[2].Field.Text; except showmessage('Error en columna');   end; end;   […]

Asignar valor a columna dbgrid en Lazarus