📄 editembrand.pas
字号:
unit editembrand;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ImgList, Menus, DB, ZAbstractRODataset, ZDataset, ComCtrls,
Grids, DBGrids, JvExDBGrids, JvDBGrid, JvDBUltimGrid, JvExControls,
JvComponent, JvStaticText, StdCtrls, Buttons, Mask, DBCtrls,
JvGradientCaption;
type
TeditembrandForm = class(TForm)
dsItemBrand: TDataSource;
PopupMenu1: TPopupMenu;
GroupBox2: TGroupBox;
btnAdd: TSpeedButton;
edFind: TEdit;
JvStaticText2: TJvStaticText;
GroupBox4: TGroupBox;
GrupItemGrid: TJvDBUltimGrid;
DBEdit1: TDBEdit;
Memo1: TMemo;
EditBrand: TMenuItem;
EdKode: TEdit;
JvStaticText1: TJvStaticText;
JvGradientCaption1: TJvGradientCaption;
IL1: TImageList;
procedure btnAddClick(Sender: TObject);
procedure edFindChange(Sender: TObject);
procedure EditBrandClick(Sender: TObject);
procedure DBEdit1Exit(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure GrupItemGridDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
procedure GrupItemGridCellClick(Column: TColumn);
procedure GrupItemGridKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
private
procedure ViewData;
public
end;
var
editembrandForm: TeditembrandForm;
implementation
{$R *.dfm}
uses DataMod, Funclib;
procedure TeditembrandForm.btnAddClick(Sender: TObject);
begin
DM.qItemBrand.AppendRecord([edKode.Text,EdFind.Text,0]);
edKode.Clear; edFind.Clear;
RefreshRec(DM.qItemBrand);
end;
procedure TeditembrandForm.edFindChange(Sender: TObject);
begin
with DM.qItemBrand do
begin
Close;
SQL.Clear;
SQL.Add('SELECT * FROM ITEM_BRAND WHERE BRANDNAME LIKE:nFind ORDER BY BRANDNAME ASC ');
ParamByName('nFind').AsString:=Edfind.Text+'%';
Open;
if Recordcount = 0 then BtnAdd.Enabled := True else BtnAdd.Enabled := False;
end;
end;
procedure TeditembrandForm.ViewData;
var
sqltext: String;
begin
QueryPerformanceFrequency(Frequency);
QueryPerformanceCounter(start);
with DM.qItemBrand do
begin
DisableControls;
Close;
SQL.Clear;
sqltext:=('SELECT BRANDCODE, BRANDNAME, POM ')+
('FROM ITEM_BRAND ')+
('ORDER BY BRANDCODE, BRANDNAME ASC ');
SQL.Add(sqltext);
Open;
EnableControls;
end;
QueryPerformanceCounter(stop);
end;
procedure TeditembrandForm.EditBrandClick(Sender: TObject);
begin
if dsItemBrand.DataSet.FieldByName('BRANDCODE').Value<>'NONE' then
GrupItemGrid.Columns[1].ReadOnly:=False;
end;
procedure TeditembrandForm.DBEdit1Exit(Sender: TObject);
begin
GrupItemGrid.Columns[1].ReadOnly:=True;
end;
procedure TeditembrandForm.FormActivate(Sender: TObject);
begin
ViewData;
end;
procedure TeditembrandForm.GrupItemGridDrawColumnCell(Sender: TObject;
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
if Column.Field=DM.qItemBrand.FieldByName('POM') then
begin
GrupItemGrid.Canvas.FillRect(Rect);
IL1.Draw(GrupItemGrid.Canvas,Rect.Left+7,Rect.Top+1,0);
if DM.qItemBrand.RecordCount <> 0 then begin
if DM.qItemBrand.FieldByName('POM').Value then
begin
IL1.Draw(GrupItemGrid.Canvas,Rect.Left+7,Rect.Top+1,1);
end else
begin
IL1.Draw(GrupItemGrid.Canvas,Rect.Left+7,Rect.Top+1,0);
end;
end;
end;
end;
procedure TeditembrandForm.GrupItemGridCellClick(Column: TColumn);
begin
if Column.Field = DM.qItemBrand.FieldByName('POM') then
begin
DM.qItemBrand.Edit;
if DM.qItemBrand.FieldByName('POM').value = 1 then
DM.qItemBrand.FieldByName('POM').value := 0 else
DM.qItemBrand.FieldByName('POM').value := 1;
DM.qItemBrand.Post;
end;
end;
procedure TeditembrandForm.GrupItemGridKeyDown(Sender: TObject;
var Key: Word; Shift: TShiftState);
begin
if (Shift = [ssCtrl]) and (Key = VK_DELETE) then Key := 0;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -