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

📄 itemsellprice.pas

📁 this is sample for traders
💻 PAS
字号:
unit itemSellprice;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, JvExControls, JvComponent, JvDBLookup, StdCtrls, DBNumEdit,
  Grids, DBGrids, JvExDBGrids, JvDBGrid, JvDBUltimGrid, ExtCtrls, Buttons,
  JvStaticText, DB, ZAbstractRODataset, ZAbstractDataset, ZDataset, NumEdit,
  ImgList, Menus, Provider, DBClient, JvGradientCaption, ZSqlProcessor,
  JvExStdCtrls, JvButton, JvCtrls, JvFooter, JvExExtCtrls, JvExtComponent;

type
  Titem_priceform = class(TForm)
    GroupBox2: TGroupBox;
    SellpriceGrid: TJvDBUltimGrid;
    dbneSellprice: TDBNumEdit;
    JvDBLookupCombo3: TJvDBLookupCombo;
    Panel1: TPanel;
    ST1: TJvStaticText;
    ST2: TJvStaticText;
    Panel2: TPanel;
    JvStaticText4: TJvStaticText;
    JvDBLookupCombo1: TJvDBLookupCombo;
    JvDBLookupCombo2: TJvDBLookupCombo;
    JvStaticText5: TJvStaticText;
    JvStaticText6: TJvStaticText;
    JvStaticText7: TJvStaticText;
    JvStaticText8: TJvStaticText;
    AddBtn: TSpeedButton;
    dbneMin: TDBNumEdit;
    dbneMax: TDBNumEdit;
    neMin: TNumEdit;
    neMax: TNumEdit;
    nePrice: TNumEdit;
    PopupMenu1: TPopupMenu;
    HapusRecord1: TMenuItem;
    UbahHarga1: TMenuItem;
    N1: TMenuItem;
    dsItemprice: TDataSource;
    cbimages: TImageList;
    JvGradientCaption1: TJvGradientCaption;
    JvFooter1: TJvFooter;
    btnCancel: TJvFooterBtn;
    btnSave: TJvFooterBtn;
    procedure FormShow(Sender: TObject);
    procedure btnSaveClick(Sender: TObject);
    procedure AddBtnClick(Sender: TObject);
    procedure btnCancelClick(Sender: TObject);
    procedure SellpriceGridDrawColumnCell(Sender: TObject;
      const Rect: TRect; DataCol: Integer; Column: TColumn;
      State: TGridDrawState);
    procedure HapusRecord1Click(Sender: TObject);
    procedure UbahHarga1Click(Sender: TObject);
    procedure dbneSellpriceExit(Sender: TObject);
    procedure SellpriceGridKeyDown(Sender: TObject; var Key: Word;
      Shift: TShiftState);
  private
  public
    procedure Edit;
  end;

var
  item_priceform: Titem_priceform;

implementation

{$R *.dfm}

uses DataMod1, funclib;

procedure TItem_priceForm.Edit;
begin
  with TItem_PriceForm.Create(nil) do
  try
    ShowModal;
  finally
    Free;
  end;
end;

procedure Titem_priceform.FormShow(Sender: TObject);
begin
  st1.Caption:=DM1.qItem.FieldValues['ITEMCODE'];
  st2.Caption:=DM1.qItem.FieldValues['ITEMNAME']+' - '+DM1.qItem.FieldValues['SIZENAME'];
end;

procedure Titem_priceform.btnSaveClick(Sender: TObject);
begin
  DM1.qItemPriceEdit.ApplyUpdates;
  RefreshRec(DM1.qItemPrice);
  //DM1.qItemPriceEdit.CommitUpdates;
end;

procedure Titem_priceform.AddBtnClick(Sender: TObject);
var
  SQLp: TZSQLProcessor;
begin
  SQLp:=TZSqlProcessor.Create(nil);
  try
  SQLp.Connection:=DM1.dtaCon;
  with SQLp do
  begin
    Close;
    Script.Clear;
    Script.Add('INSERT INTO ITEM_PRICE (ITEMCODE,UNITID,MIN,MAX,CURR,SELLPRICE,DEFAU) ');
    Script.Add(' VALUES (:nCode,:nUnit,1,1,"RP",:nPrice,0)');
    ParamByName('nCode').Value:=DM1.qItem.FieldValues['ITEMCODE'];
    ParamByName('nUnit').Value:=DM1.tbSat.FieldValues['UNITID'];
    ParamByName('nPrice').Value:=nePrice.Value;
    Execute;
  end;
  finally
    SQLp.Free;
  end;
  RefreshRec(DM1.qItemPrice);
end;

procedure Titem_priceform.btnCancelClick(Sender: TObject);
begin
  DM1.qItemPriceEdit.CancelUpdates;
end;

procedure Titem_priceform.SellpriceGridDrawColumnCell(Sender: TObject;
  const Rect: TRect; DataCol: Integer; Column: TColumn;
  State: TGridDrawState);
begin
  if Column.Field=DM1.qItemPriceEdit.FieldByName('DEFAU') then
  begin
    SellPriceGrid.Canvas.FillRect(Rect);
    cbimages.Draw(SellPriceGrid.Canvas,Rect.Left+5,Rect.Top+1,0);
    if DM1.qItemPriceEdit.RecordCount <> 0 then begin
      if DM1.qItemPriceEdit.FieldByName('DEFAU').Value then
      begin
        cbimages.Draw(SellPriceGrid.Canvas,Rect.Left+5,Rect.Top+1,1);
      end else
      begin
        cbimages.Draw(SellPriceGrid.Canvas,Rect.Left+5,Rect.Top+1,0);
      end;
    end;
  end;
end;

procedure Titem_priceform.HapusRecord1Click(Sender: TObject);
begin
  if DM1.qItemPriceEdit.FieldByName('DEFAU').Value = 0 then
  begin
    DM1.qItemPriceEdit.Delete
  end else
  begin
    MessageDlg('Default record tidak dapat di-HAPUS !'+#13#10+'Default Error',mtError,[mbOk],0);
  end;
end;

procedure Titem_priceform.UbahHarga1Click(Sender: TObject);
begin
  SellPriceGrid.Columns[3].ReadOnly:=False;
  SellPriceGrid.EditorMode:=True;
end;

procedure Titem_priceform.dbneSellpriceExit(Sender: TObject);
begin
  SellPriceGrid.SetFocus;
end;

procedure Titem_priceform.SellpriceGridKeyDown(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 + -