Prvni verze
This commit is contained in:
253
frmSpravaVzorku.pas
Normal file
253
frmSpravaVzorku.pas
Normal file
@ -0,0 +1,253 @@
|
||||
unit frmSpravaVzorku;
|
||||
|
||||
interface
|
||||
|
||||
uses
|
||||
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
|
||||
Vcl.Controls, Vcl.Forms, Vcl.Dialogs,
|
||||
ddPlugin_TLB, Data.DB, Vcl.ExtCtrls, Vcl.Grids, Vcl.DBGrids, JvExDBGrids,
|
||||
JvDBGrid, Vcl.StdCtrls, Vcl.DBCtrls, JvDBCheckBox;
|
||||
|
||||
{$I iConsts.inc}
|
||||
|
||||
type
|
||||
TformSpravaVzorku = class(TForm)
|
||||
grdSpravaVzorku: TJvDBGrid;
|
||||
GridPanel1: TGridPanel;
|
||||
GridPanel2: TGridPanel;
|
||||
GridPanel3: TGridPanel;
|
||||
btnTiskKartonu: TButton;
|
||||
btnTiskSeznamVzorku: TButton;
|
||||
btnVyraditVzorek: TButton;
|
||||
btnUkoncitKarton: TButton;
|
||||
GridPanel4: TGridPanel;
|
||||
Label1: TLabel;
|
||||
edtSZ: TEdit;
|
||||
edtRegCis: TEdit;
|
||||
edtNazev1: TEdit;
|
||||
edtStroj: TEdit;
|
||||
Label9: TLabel;
|
||||
Label2: TLabel;
|
||||
Label3: TLabel;
|
||||
dbCb1: TJvDBCheckBox;
|
||||
procedure FormShow(Sender: TObject);
|
||||
procedure grdSpravaVzorkuDrawColumnCell (Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
|
||||
procedure edtSZChange(Sender: TObject);
|
||||
procedure edtRegCisChange(Sender: TObject);
|
||||
procedure edtNazev1Change(Sender: TObject);
|
||||
procedure edtStrojChange(Sender: TObject);
|
||||
procedure Label1Click(Sender: TObject);
|
||||
procedure grdSpravaVzorkuColExit(Sender: TObject);
|
||||
procedure grdSpravaVzorkuMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||||
procedure grdSpravaVzorkuDblClick(Sender: TObject);
|
||||
procedure grdSpravaVzorkuColEnter(Sender: TObject);
|
||||
private
|
||||
procedure Filtruj;
|
||||
public
|
||||
Helios: IHelios;
|
||||
end;
|
||||
|
||||
var
|
||||
formSpravaVzorku: TformSpravaVzorku;
|
||||
grdSpravaVzorkuAktRow, grdSpravaVzorkuAktCol: integer;
|
||||
Pt: TPoint;
|
||||
Cell: TGridCoord;
|
||||
TitleOffset: Byte;
|
||||
|
||||
|
||||
implementation
|
||||
uses System.StrUtils, System.DateUtils,
|
||||
datMod, helUtils;
|
||||
|
||||
{$R *.dfm}
|
||||
|
||||
|
||||
|
||||
procedure TformSpravaVzorku.edtNazev1Change (Sender: TObject);
|
||||
begin
|
||||
Filtruj;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
procedure TformSpravaVzorku.edtRegCisChange (Sender: TObject);
|
||||
begin
|
||||
Filtruj;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
procedure TformSpravaVzorku.edtStrojChange (Sender: TObject);
|
||||
begin
|
||||
Filtruj;
|
||||
end;
|
||||
|
||||
|
||||
procedure TformSpravaVzorku.edtSZChange (Sender: TObject);
|
||||
begin
|
||||
Filtruj;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformSpravaVzorku.Filtruj;
|
||||
var filtr: string;
|
||||
begin
|
||||
filtr:= '';
|
||||
if (edtSZ.Text<>'') then
|
||||
filtr:= 'UPPER(colSZ) LIKE ''%' + edtSZ.Text.Trim.ToUpper + '%''';
|
||||
|
||||
if (edtRegCis.Text<>'') then
|
||||
filtr:= filtr + IfThen(filtr='', '', ' AND ') + 'UPPER(colRC) LIKE ''%' + edtRegCis.Text.Trim.ToUpper + '%''';
|
||||
|
||||
if (edtNazev1.Text<>'') then
|
||||
filtr:= filtr + IfThen(filtr='', '', ' AND ') + 'UPPER(colNazev1) LIKE ''%' + edtNazev1.Text.Trim.ToUpper + '%''';
|
||||
|
||||
if (edtStroj.Text<>'') then
|
||||
filtr:= filtr + IfThen(filtr='', '', ' AND ') + 'UPPER(colStroj) LIKE ''%' + edtStroj.Text.Trim.ToUpper + '%''';
|
||||
|
||||
|
||||
dm.vtSpravaVzorku.Filter:= filtr;
|
||||
dm.vtSpravaVzorku.Filtered:= (filtr<>'');
|
||||
|
||||
grdSpravaVzorku.Invalidate;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformSpravaVzorku.FormShow (Sender: TObject);
|
||||
begin
|
||||
dm.NactiVzorky (self);
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformSpravaVzorku.grdSpravaVzorkuColEnter(Sender: TObject);
|
||||
begin
|
||||
if (grdSpravaVzorku.SelectedField.DataType = ftBoolean) then
|
||||
grdSpravaVzorku.Options:= grdSpravaVzorku.Options - [dgEditing];
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformSpravaVzorku.grdSpravaVzorkuColExit(Sender: TObject);
|
||||
begin
|
||||
if (grdSpravaVzorku.SelectedField.FieldName = dbCb1.DataField) then
|
||||
dbCb1.Visible:= False
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformSpravaVzorku.grdSpravaVzorkuDblClick (Sender: TObject);
|
||||
var id: integer;
|
||||
begin
|
||||
if (Sender is TJvDBGrid) then
|
||||
begin
|
||||
if (grdSpravaVzorkuAktCol-1=datMod.GetDBGridIndexByFieldName (grdSpravaVzorku, 'colArchiv', false)) then
|
||||
if (Helios.YesNo('Vzorek je v archivu ' + #1 + dm.vtSpravaVzorku.FieldByName('colArchiv').AsString + #1 + '.' + CRLF + 'Chceje jej vyřadit ?' , false)) then
|
||||
begin
|
||||
dm.vtSpravaVzorku.Edit;
|
||||
id:= dm.vtSpravaVzorku.FieldByName('colID').AsInteger;
|
||||
try
|
||||
Helios.ExecSQL('UPDATE ' + tblVzorky + ' SET Vyrazeno=1 WHERE ID=' + id.ToString);
|
||||
dm.vtSpravaVzorku.FieldByName('colVyrazeno').AsBoolean:= true;
|
||||
finally
|
||||
end;
|
||||
dm.vtSpravaVzorku.Post;
|
||||
end;
|
||||
end;
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformSpravaVzorku.grdSpravaVzorkuDrawColumnCell (Sender: TObject; const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
|
||||
const IsChecked : array[Boolean] of Integer = (DFCS_BUTTONCHECK, DFCS_BUTTONCHECK or DFCS_CHECKED);
|
||||
var DrawState: Integer;
|
||||
DrawRect: TRect;
|
||||
begin
|
||||
|
||||
if (gdFocused in State) then
|
||||
begin
|
||||
if (Column.Field.FieldName = dbCb1.DataField) then
|
||||
begin
|
||||
dbCb1.Left:= Rect.Left + grdSpravaVzorku.Left + 2;
|
||||
dbCb1.Top:= Rect.Top + grdSpravaVzorku.top + 2;
|
||||
dbCb1.Width:= Rect.Right - Rect.Left;
|
||||
dbCb1.Height:= Rect.Bottom - Rect.Top;
|
||||
dbCb1.Visible:= True;
|
||||
end
|
||||
end
|
||||
else
|
||||
begin
|
||||
if (Column.Field.FieldName = dbCb1.DataField) then
|
||||
begin
|
||||
DrawRect:=Rect;
|
||||
InflateRect (DrawRect,-1,-1);
|
||||
DrawState:= ISChecked[Column.Field.AsBoolean];
|
||||
grdSpravaVzorku.Canvas.FillRect (Rect);
|
||||
DrawFrameControl (grdSpravaVzorku.Canvas.Handle, DrawRect, DFC_BUTTON, DrawState);
|
||||
end;
|
||||
end;
|
||||
|
||||
{
|
||||
if (gdFocused in State) and (Column.FieldName='colKArchivaci') then
|
||||
begin
|
||||
if (Column.Field.Value=1) then
|
||||
SetBounds (Left + grdSpravaVzorku.Left + 1, Rect.Top + grdSpravaVzorku.Top + 1, Rect.Right - Rect.Left + 1, Rect.Bottom - Rect.Top + 1);
|
||||
end;
|
||||
}
|
||||
|
||||
if (not(gdSelected in State)) then
|
||||
begin
|
||||
if (Odd(grdSpravaVzorku.DataSource.DataSet.RecNo)) then
|
||||
TJvDBGrid(Sender).Canvas.Brush.Color:= clWindow
|
||||
else
|
||||
TJvDBGrid(Sender).Canvas.Brush.Color:= $00E0E0E0;
|
||||
end;
|
||||
|
||||
if (Column.FieldName='colNazev1') or (Column.FieldName='colArchiv') then
|
||||
begin
|
||||
if (gdSelected in State) then
|
||||
TDBGrid(Sender).Canvas.Font.Color:= clBlack;
|
||||
TDBGrid(Sender).Canvas.Brush.Color:= $00D0FEC6;
|
||||
end;
|
||||
|
||||
|
||||
TDBGrid(Sender).DefaultDrawColumnCell (Rect, DataCol, Column, State);
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformSpravaVzorku.grdSpravaVzorkuMouseUp (Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
|
||||
begin
|
||||
grdSpravaVzorkuAktRow:= TDBGrid(Sender).MouseCoord(X, Y).Y;
|
||||
grdSpravaVzorkuAktCol:= TDBGrid(Sender).MouseCoord(X, Y).X;
|
||||
|
||||
// TitleOffset := Ord(dgTitles in grdRozpracovane.Options);
|
||||
Pt:= grdSpravaVzorku.ScreenToClient (Mouse.CursorPos);
|
||||
Cell:= grdSpravaVzorku.MouseCoord (Pt.X, Pt.Y);
|
||||
|
||||
end;
|
||||
|
||||
|
||||
|
||||
|
||||
procedure TformSpravaVzorku.Label1Click (Sender: TObject);
|
||||
begin
|
||||
edtSZ.Text:= '';
|
||||
edtRegCis.Text:= '';
|
||||
edtNazev1.Text:= '';
|
||||
edtStroj.Text:= '';
|
||||
Filtruj;
|
||||
end;
|
||||
|
||||
end.
|
||||
Reference in New Issue
Block a user