关于录入界面的讨论

做数据库的程序,除了一些特殊的要求外,无外乎就是录入与查询,查询问题先不说,只是想讨论一下录入问题,录入数据时要做好的是准确及方便最好还要好看,如果是一些简单的数据录入的话,那么完全可以使用一个表格(Grid)来入,
例如以下的截图:

对于上述截图的程序我写了个基本的窗体,只要从这个窗体中派生出来,再稍加修改就可以完成这个功能了,我比较讨厌用鼠标去逐个设置DataSource,DataSet等等的属性。

代码类似于如下所示:

type
  TfrmSampleQTUserSetting = class(TCustomSimpleDBQTGridForm)
    procedure FormDestroy(Sender: TObject);
  private
    FDeptQry : TCustomDADataSet;
    procedure InitCKD;
    { Private declarations }
  public
    procedure CallAfterCreate; override;
    { Public declarations }
  end;

var
  frmSampleQTUserSetting: TfrmSampleQTUserSetting;

implementation
uses
  FormClassMgrUnit;

{$R *.dfm}

procedure TfrmSampleQTUserSetting.CallAfterCreate;
begin
  FTableName := 'fxbr_tb_user';
  inherited;
  InitCKD;
  FieldAdd('人员代码', 60, taCenter);
  FieldAdd('人员名称', 100, taCenter);
  FieldAdd('科室', 120, taCenter, FDeptQry);
  FGridMgr.DoFieldInit
end;

procedure TfrmSampleQTUserSetting.FormDestroy(Sender: TObject);
begin
  inherited;
  FDeptQry.Close;
  FDeptQry.Free;
end;

//弹出来的可选式窗体
procedure TfrmSampleQTUserSetting.InitCKD;
begin
  FDeptQry := FlexCoreLibDBUnit.CreateDataSet(BaseConf.SelfDBCnn);
  FDeptQry.SQL.Add('select departmentid, departmentname from ');
  FDeptQry.SQL.Add('fxbr_tb_department');
  FDeptQry.Open;
  FDeptQry.Fields[0].DisplayLabel := '科室代码';
  FDeptQry.Fields[0].DisplayWidth := 20;
  FDeptQry.Fields[1].DisplayLabel := '科室名称';
  FDeptQry.Fields[1].DisplayWidth := 30;
end;

initialization
  GFormClassMgr.Add(TfrmSampleQTUserSetting);

end.

-------------------

但如果我想要类似以下的效果的时候,有没有好的一些好的方法,即尽量利用继承或模版功能,而不必每次用鼠标去设置


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值