unit BidLotAliasFrm; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ZjGridDBA, ZJGrid, DB, ComCtrls; type TBidAliasForm = class(TForm) zgBidLot: TZJGrid; zaBidLot: TZjGridDBA; Panel1: TPanel; ldeShortName: TLabeledEdit; btnAlter: TButton; btnSave: TButton; StatusBar1: TStatusBar; procedure zgBidLotMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure btnAlterClick(Sender: TObject); procedure btnSaveClick(Sender: TObject); procedure zgBidLotCellTextChanging(Sender: TObject; const ACoord: TPoint; var NewValue: String; var Accept: Boolean); procedure zaBidLotGridRowMoved(Sender: TObject; const ACoord: TPoint; ADist: Integer; ADir: TZjMoveDirection); procedure FormShow(Sender: TObject); private FProject: TObject; FBuildProjectName: string; function GetDataSet: TDataSet; procedure SetDataSet(const Value: TDataSet); procedure SetBuildProjectName(const Value: string); public property DataSet: TDataSet read GetDataSet write SetDataSet; property Project: TObject read FProject write FProject; property BuildProjectName: string read FBuildProjectName write SetBuildProjectName; end; implementation {$R *.dfm} uses ScProjectManager; { TBidAliasForm } function TBidAliasForm.GetDataSet: TDataSet; begin Result := zaBidLot.DataSet; end; procedure TBidAliasForm.SetDataSet(const Value: TDataSet); begin zaBidLot.DataSet := Value; end; procedure TBidAliasForm.zgBidLotMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin ldeShortName.Text := zaBidLot.DataSet['AliasName']; StatusBar1.Panels[1].Text := '标段: ' + zaBidLot.DataSet['ProjName']; StatusBar1.Panels[2].Text := '简称: ' + zaBidLot.DataSet['AliasName']; end; procedure TBidAliasForm.btnAlterClick(Sender: TObject); begin zaBidLot.DataSet.Edit; zaBidLot.DataSet['AliasName'] := ldeShortName.Text; zaBidLot.DataSet.Post; end; procedure TBidAliasForm.btnSaveClick(Sender: TObject); begin TProject(FProject).Save(False); end; procedure TBidAliasForm.zgBidLotCellTextChanging(Sender: TObject; const ACoord: TPoint; var NewValue: String; var Accept: Boolean); begin if ACoord.Y >= TZJGrid(Sender).FixedRowCount + zaBidLot.DataSet.RecordCount then Accept := False; end; procedure TBidAliasForm.SetBuildProjectName(const Value: string); begin FBuildProjectName := Value; StatusBar1.Panels[0].Text := '建设项目: ' + FBuildProjectName; end; procedure TBidAliasForm.zaBidLotGridRowMoved(Sender: TObject; const ACoord: TPoint; ADist: Integer; ADir: TZjMoveDirection); begin ldeShortName.Text := zaBidLot.DataSet['AliasName']; StatusBar1.Panels[1].Text := '标段: ' + zaBidLot.DataSet['ProjName']; StatusBar1.Panels[2].Text := '简称: ' + zaBidLot.DataSet['AliasName']; end; procedure TBidAliasForm.FormShow(Sender: TObject); begin if zaBidLot.DataSet.RecordCount > 0 then begin ldeShortName.Text := zaBidLot.DataSet['AliasName']; StatusBar1.Panels[1].Text := '标段: ' + zaBidLot.DataSet['ProjName']; StatusBar1.Panels[2].Text := '简称: ' + zaBidLot.DataSet['AliasName']; end; end; end.