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


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

    育儿

    分类: delphi
    //from
    http://kingron.myetang.com/zsfunc12.htm

    (*//
    标题:处理数据网格的编辑框
    说明:示例添加焦点颜色;获取还没有提交到数据集的字段文本
    设计: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;

     
    好的代码像粥一样,都是用时间熬出来的
  • 相关阅读:
    iOS6和iOS7代码的适配(3)——坐标适配
    iOS6和iOS7代码的适配(2)——status bar
    iOS6和iOS7代码的适配(1)
    深入Blocks分析
    文字溢出加省略号
    点击图表每一部分触发某事件
    图表添加红线
    比较月份是否存在封装数据
    云上示范区项目总结
    页面之间通过地址栏传参
  • 原文地址:https://www.cnblogs.com/jijm123/p/13661914.html
Copyright © 2020-2023  润新知