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


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

    ///////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;

  • 相关阅读:
    java encoding
    [转]shell 变量的作用域
    [转] shell :解析json的命令-jq
    [转] Linux user-space Atomic Operations && GCC Atomic builtins
    [转]reference counting
    [转]memory order,memory barrier,原子操作
    [转]c语言volatile 关键字
    OCF介绍
    [转]计算机存储 cache介绍
    [转] linux IO
  • 原文地址:https://www.cnblogs.com/jijm123/p/11456812.html
Copyright © 2020-2023  润新知