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

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

原文地址:https://www.cnblogs.com/jijm123/p/11456812.html

时间: 2024-10-04 23:50:30

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

Delphi 之 编辑框控件(TEdit)

TEdit 组件主要用于数据的输入和显示和编辑等操作. AutoSelect 获取组件焦点.该属性只能在单行文本组件使用.值为True为选中.false则不选中. BorderStyle 设置编辑框控件的外观效果.当值为bsSingle,为一个单线边框.为bsNone则无边框 CanUndo 该属性可以确定用户修改文本后可以undo方法回退. CharCase 设置编辑框控件文本的大小写. 如图所示 MaxLength 设置文本的最大长度,为0表示长度没有限制. PasswordChar 用来显

数据绑定和数据网格视图(DataGridView)控件

数据绑定和数据网格视图(DataGridView)控件 数据网格视图控件,不像我们前面看到的控件,它可以显示多个列,但是,数据必须格式化,使数据网格知道要显示哪一列.有两种实现方法:一个是把数据网格视图绑定到数据表(DataTable),另一个是把网格到绑定对象列表,对象有许多属性,不同的属性就成为网格的列. 下面的例子是一种简单的解决方案,绑定到数据集(DataSet): open System open System.Collections.Generic open System.Confi

MFC编程入门之二十一(常用控件:编辑框Edit Control)

上一节讲了静态文本框,本节讲的是编辑框(Edit Control)同样是一种很常用的控件,我们可以在编辑框中输入并编辑文本.在前面加法计算器的例子中已经演示了编辑框的基本应用.下面具体讲解编辑框的使用. 编辑框的通知消息 编辑框发生某些事件时会向父窗口发送通知消息.在对话框模板中的编辑框上点击右键,选择"Add Event Handler",为编辑框添加消息处理函数时,可以在"Message type"列表中看到这些消息.下面简单介绍编辑框的部分通知消息. EN_C

datatables.js 简单使用--弹出编辑框或添加数据框

内容:选中某一条记录,弹出编辑框 环境:asp.net mvc ,  bootstrap 显示效果: 代码: 至于怎么弄多选框,在上一篇博客里已经有说明. 主要用到了bootstrap的模态窗,下面代码是从网上找的,主要分3部分,标题header,内容body和底部footer 1 <div class="modal fade" id="myModal" tabindex="-1" role="dialog" 2 ari

angular延时函数和数据加载完才显示主要的页面、上传文件到后端、富文本框编辑框(ckeditor)

延时函数 setTimeout(()=>{ console.log("延时打印") },10000); // 延时10秒打印 //简单等数据加载完才显示主要的页面 1.先下载ngx-loading模块 npm install --save ngx-loading 2.在app.module.ts中引入NgxLoadingModule模块 import {NgxLoadingModule} from 'ngx-loading'; imports: [ BrowserModule,

MFC 编辑框输入16进制字符串转换为16进制数或者10进制数据计算

1.编辑框添加变量,并选择变量类型为CString. 2.  使用"_tcstoul"函数将Cstring 类型转换为16进制/10进制数进行计算. 原文地址:https://www.cnblogs.com/lize19940412/p/10068273.html

浅谈控件(组件)制作方法一(附带一delphi导出数据到Excel的组件实例)(原创)

来自:http://blog.csdn.net/zhdwjie/article/details/1490741 ------------------------------------------------------------------- 从99年学习delphi开始,我就被它的快速开发迷上了,那时候刚接触编程,对可视化开发特别来劲,原因嘛,不外乎是比C更快的实现啦,这几年来,从delphi的C/S到三层B/S,大大小小也写过一些软件,自认为这delphi也就这么些功能吧,自从最近偶得一

Android项目实战(二十七):数据交互(信息编辑)填写总结

前言: 项目中必定用到的数据填写需求.比如修改用户名的文字编辑对话框,修改生日的日期选择对话框等等.现总结一下,方便以后使用. 注: 先写实现过程,想要学习的同学可以看看,不需要的同学可以直接拉到最下面复制代码使用. 一.文字编辑对话框 看下效果图(仿今日头条): 包括: 一个标题TextView 一个圆角白色背景EditText 一个可输入个数提示的TextView 两个按钮,'确定'.'取消' 代码实现: (1)编写布局文件 <?xml version="1.0" encod

Android 编辑框(EditText)属性学习

EditText的属性很多,这里介绍几个:android:hint="请输入数字!"//设置显示在空间上的提示信息android:numeric="integer"//设置只能输入整数,如果是小数则是:decimalandroid:singleLine="true"//设置单行输入,一旦设置为true,则文字不会自动换行.android:password="true"//设置只能输入密码android:textColor =