⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 editembrand.pas

📁 this is sample for traders
💻 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 + -