D10szGerun/A02基础产品管理/U_CraftInfoSel.pas
2026-10-19 17:25:11 +08:00

135 lines
3.3 KiB
ObjectPascal

unit U_CraftInfoSel;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
cxEdit, DB, cxDBData, ADODB, DBClient, ToolWin, ComCtrls, StdCtrls, ExtCtrls,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGridLevel,
cxClasses, cxControls, cxGridCustomView, cxGrid, cxLookAndFeels,
cxLookAndFeelPainters, dxSkinsCore, dxSkinsDefaultPainters, cxNavigator,
dxDateRanges, dxBarBuiltInMenu, dxScrollbarAnnotations, cxCheckBox;
type
TfrmCraftInfoSel = class(TForm)
ToolBar1: TToolBar;
TBFind: TToolButton;
TBSave: TToolButton;
TBClose: TToolButton;
Panel1: TPanel;
Label1: TLabel;
Label2: TLabel;
CR_Code: TEdit;
CR_Name: TEdit;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
Tv1CR_Code: TcxGridDBColumn;
Tv1CR_Name: TcxGridDBColumn;
Tv1C_Width: TcxGridDBColumn;
Tv1C_GramWeight: TcxGridDBColumn;
Tv1C_Color: TcxGridDBColumn;
Tv1C_YarnQty: TcxGridDBColumn;
Tv1head_count: TcxGridDBColumn;
Tv1strip_width: TcxGridDBColumn;
Tv1C_MachLatitudeDensity: TcxGridDBColumn;
Tv1row_count_top: TcxGridDBColumn;
Tv1displace: TcxGridDBColumn;
Tv1reed_width: TcxGridDBColumn;
Tv1C_ReedNo: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
DS_1: TDataSource;
CDS_1: TClientDataSet;
ADOQueryMain: TADOQuery;
procedure FormShow(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure TBCloseClick(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure TBFindClick(Sender: TObject);
procedure Tv1DblClick(Sender: TObject);
procedure CRCodeKeyPress(Sender: TObject; var Key: Char);
private
procedure InitGrid();
{ Private declarations }
public
{ Public declarations }
end;
var
frmCraftInfoSel: TfrmCraftInfoSel;
implementation
uses
U_DataLink, U_RTFun;
{$R *.dfm}
procedure TfrmCraftInfoSel.InitGrid();
var
fwhere: string;
begin
fwhere := ' where 1=1 ';
if Trim(CR_Code.Text) <> '' then
fwhere := fwhere + ' and CR_Code like ' + QuotedStr('%' + Trim(CR_Code.Text) + '%');
if Trim(CR_Name.Text) <> '' then
fwhere := fwhere + ' and CR_Name like ' + QuotedStr('%' + Trim(CR_Name.Text) + '%');
with ADOQueryMain do
begin
Close;
Filtered := False;
SQL.Clear;
SQL.Add('select * from BS_Craft_Info' + fwhere + ' order by CR_Code');
Open;
end;
SCreateCDS(ADOQueryMain, CDS_1);
SInitCDSData(ADOQueryMain, CDS_1);
TV1.DataController.Filter.Clear;
end;
procedure TfrmCraftInfoSel.FormShow(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmCraftInfoSel.FormDestroy(Sender: TObject);
begin
frmCraftInfoSel := nil;
end;
procedure TfrmCraftInfoSel.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmCraftInfoSel.TBSaveClick(Sender: TObject);
begin
if CDS_1.IsEmpty then
Exit;
ModalResult := 1;
end;
procedure TfrmCraftInfoSel.TBFindClick(Sender: TObject);
begin
InitGrid();
end;
procedure TfrmCraftInfoSel.Tv1DblClick(Sender: TObject);
begin
if CDS_1.IsEmpty then
Exit;
ModalResult := 1;
end;
procedure TfrmCraftInfoSel.CRCodeKeyPress(Sender: TObject; var Key: Char);
begin
if Key = #13 then
begin
Key := #0;
InitGrid();
end;
end;
end.