📄 materialsselect.pas
字号:
unit MaterialsSelect;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, StdCtrls, Grids, ExtCtrls, DBGrids, ImgList, Buttons;
type
TMaterialsSelectFrm = class(TForm)
GroupBox1: TGroupBox;
TV_Materials: TTreeView;
Panel1: TPanel;
Panel2: TPanel;
Label1: TLabel;
MaterialsSG1: TStringGrid;
ImageList1: TImageList;
BitBtn1: TBitBtn;
BB_Confirm: TBitBtn;
BB_Cancel: TBitBtn;
DBGrid1: TDBGrid;
procedure FormCreate(Sender: TObject);
procedure TV_MaterialsDblClick(Sender: TObject);
procedure DBGrid1CellClick(Column: TColumn);
procedure BitBtn1Click(Sender: TObject);
procedure BB_ConfirmClick(Sender: TObject);
procedure BB_CancelClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
SelectNo:integer;
end;
var
MaterialsSelectFrm: TMaterialsSelectFrm;
implementation
uses DataModule;
{$R *.dfm}
procedure TMaterialsSelectFrm.FormCreate(Sender: TObject);
var
root,node:TTreeNode; //定义二个存放节点文件TTreeNode
i:integer;
str1,str:AnsiString;
begin
DM.AT_Materials.Filtered:=false;
DM.AQ_Materials.Active:=true;
TV_Materials.Items.Clear; //清空TreeView所有节点
root:=TTreeNode.Create(TV_Materials.Items); //声明节点元件指标变量
node:=TTreeNode.Create(TV_Materials.Items);
root:=TV_Materials.Items.AddChildFirst(NIL,'原材料');
root.ImageIndex:=0;
root.SelectedIndex:=1;
DM.AQ_Materials.First;
for i:=0 to DM.AT_Materials.RecordCount do //填写原材料分类中所有分类名字段到TreeView
begin
str1:=TrimRight(DM.AQ_Materials['Materials_Class']); //取得原材料分类中所有分类名字段值并去掉后面空格
if str<>str1 then //取得不同的原材料分类中所有分类
begin
str:=str1;
node:=TV_Materials.Items.AddChild(root,str); //增加一个子节点
node.ImageIndex:=2;
node.SelectedIndex:=3;
DM.AQ_Materials.Next;
end
else
DM.AQ_Materials.Next;
end;
root.Expand(true);
with MaterialsSG1 do
begin
MaterialsSG1.ColCount:=4;
cells[0,0]:='原材料编号';
cells[1,0]:='原材料名称';
cells[2,0]:='原材料类别';
cells[3,0]:='单位';
end;
SelectNo:=0;
end;
procedure TMaterialsSelectFrm.TV_MaterialsDblClick(Sender: TObject);
begin
with DM.AQ_Materials do
begin
close;
SQL.Clear;
SQL.Add('Select * from Materials where Materials_Class='+''''+TV_Materials.Selected.Text+'''');
open;
end;
end;
procedure TMaterialsSelectFrm.DBGrid1CellClick(Column: TColumn);
begin
// DM.AT_Materials.Filtered:=false; //关闭过滤器
SelectNo:=SelectNo+1;
with MaterialsSG1 do
begin
MaterialsSG1.RowCount:=SelectNo+1;
cells[0,SelectNo]:=DM.AQ_Materials['Materials_ID'];
cells[1,SelectNo]:=DM.AQ_Materials['Materials_Name'];
cells[2,SelectNo]:=DM.AQ_Materials['Materials_Class'];
cells[3,SelectNo]:=DM.AQ_Materials['Materials_MUnit'];
end;
Label1.Caption:='选择的记录:'+inttostr(SelectNo)+' 条';
end;
procedure TMaterialsSelectFrm.BitBtn1Click(Sender: TObject);
var
i,j:integer;
begin
for i:=0 to 4 do
for j:=1 to SelectNo do
MaterialsSG1.Cells[i,j]:='';
MaterialsSG1.RowCount:=1;
SelectNo:=0;
end;
procedure TMaterialsSelectFrm.BB_ConfirmClick(Sender: TObject);
begin
MaterialsSelectFrm.Close;
MaterialsSelectFrm.ModalResult:=mrOK;
end;
procedure TMaterialsSelectFrm.BB_CancelClick(Sender: TObject);
begin
MaterialsSelectFrm.Close;
MaterialsSelectFrm.ModalResult:=mrCancel;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -