加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Delphi处理数据网格DBGrid的编辑框 获取还没有提交到数据集的字

发布时间:2020-12-15 09:49:47 所属栏目:大数据 来源:网络整理
导读://from http://kingron.myetang.com/zsfunc12.htm (*// 标题:处理数据网格的编辑框 说明:示例添加焦点颜色;获取还没有提交到数据集的字段文本 设计:Zswang 日期:2002-03-31 支持:[email?protected] //*) ///////Begin ??Source function ??GetDBGridEdit(mDB

//from
http://kingron.myetang.com/zsfunc12.htm

(*//
标题:处理数据网格的编辑框
说明:示例添加焦点颜色;获取还没有提交到数据集的字段文本
设计:Zswang
日期:2002-03-31
支持:[email?protected]
//*)

///////Begin ??Source
function ??GetDBGridEdit(mDBGrid: ??TDBGrid): ??TEdit;
var
????I: ??Integer;
begin
????Result ??:= ??nil;
????if ??not ??Assigned(mDBGrid) ??then ??Exit;
????if ??not ??mDBGrid.EditorMode ??then ??begin
????????mDBGrid.EditorMode ??:= ??True;
????????mDBGrid.EditorMode ??:= ??False;
????end;
????with ??mDBGrid ??do ??for ??I ??:= ??0 ??to ??Pred(ComponentCount) ??do
????????if ??Components[I] ??is ??TCustomEdit ??then ??begin
????????????Result ??:= ??TEdit(Components[I]);
????????????Break;
????????end;
end; ??{ ??GetDBGridEdit ??}

function ??GetDBGridEditText(mDBGrid: ??TDBGrid): ??string;
var
????vEdit: ??TEdit;
begin
????vEdit ??:= ??GetDBGridEdit(mDBGrid);
????if ??Assigned(vEdit) ??then
????????Result ??:= ??vEdit.Text
????else ??Result ??:= ??‘ ‘;
end; ??{ ??GetDBGridEditText ??}
///////End ??Source

///////Begin ??Demo
procedure ??TForm1.DBGrid1Enter(Sender: ??TObject);
var
????vEdit: ??TEdit;
begin
????vEdit ??:= ??GetDBGridEdit(TDBGrid(Sender));
????if ??Assigned(vEdit) ??then ??vEdit.Color ??:= ??clYellow;
end;

procedure ??TForm1.DBGrid1KeyUp(Sender: ??TObject; ??var ??Key: ??Word;
????Shift: ??TShiftState);
begin
????Caption ??:= ??GetDBGridEditText(TDBGrid(Sender));
end;
///////End ??Demo

?

?

?

procedure TForm4.dbgrdShowKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
with qry1 do //动态计算
begin
if (FindField(‘总价‘)<>nil) and (FindField(‘数量‘)<>nil) and (FindField(‘单价‘)<>nil) then
if State in [dsinsert,dsedit] then
begin
UpdateRecord;
FieldByName(‘总价‘).AsString:=StrOpt(DasS(qry1,‘数量‘),‘*‘,DasS(qry1,‘单价‘));
end;
end;

end;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读