回答网友的一个DBGrid的问题

news2024/11/17 16:16:15

起因

网友在QQ群里问Text字段的显示问题。

俺回答:百度了一下 方法有 很多很多 。然后给他百度了6种方案。然后告诉他找个顺眼的用。

可是,对方感觉都顺眼。俺就新写了一个 。

代码

创建测试数据

begin
  ADODataSet1.DisableControls;
  colcnt:=5;
  rowcnt:=10;
  for i:=1 to colcnt do
    ADODataSet1.FieldDefs.Add('TEXT'+inttostr(i),ftMemo);
  ADODataSet1.CreateDataSet();
  for  j:=1 to    rowcnt do
  begin
    ADODataSet1.Append();
    for i:=1 to colcnt do
      ADODataSet1.Fieldbyname('TEXT'+inttostr(i)).AsString:='啥啥';
    ADODataSet1.Post();
  end;
  ADODataSet1.First;
  for i:=1 to colcnt do
   ADODataSet1.Fieldbyname('TEXT'+inttostr(i)).OnGetText:=  OnGetText;
  ADODataSet1.EnableControls;
end;

并设置OnGetText事件

   ADODataSet1.Fieldbyname('TEXT'+inttostr(i)).OnGetText:=  OnGetText;

OnGetText事件

procedure TForm1.OnGetText(Sender: TField; var Text: string;
  DisplayText: Boolean);
begin
  Text:=Sender.AsString;
  DisplayText:=true;
end;

全部代码

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Grids, DBGrids, DB, ADODB;

type
  TForm1 = class(TForm)
    DataSource1: TDataSource;
    ADODataSet1: TADODataSet;
    DBGrid1: TDBGrid;
    procedure FormCreate(Sender: TObject);
  private
     procedure OnGetText(Sender: TField; var Text: string;
    DisplayText: Boolean) ;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
 colcnt,i:integer;
 rowcnt,j:integer;

begin
  ADODataSet1.DisableControls;
  colcnt:=5;
  rowcnt:=10;
  for i:=1 to colcnt do
    ADODataSet1.FieldDefs.Add('TEXT'+inttostr(i),ftMemo);
  ADODataSet1.CreateDataSet();
  for  j:=1 to    rowcnt do
  begin
    ADODataSet1.Append();
    for i:=1 to colcnt do
      ADODataSet1.Fieldbyname('TEXT'+inttostr(i)).AsString:='啥啥';
    ADODataSet1.Post();
  end;
  ADODataSet1.First;
  for i:=1 to colcnt do
   ADODataSet1.Fieldbyname('TEXT'+inttostr(i)).OnGetText:=  OnGetText;
  ADODataSet1.EnableControls;
end;

procedure TForm1.OnGetText(Sender: TField; var Text: string;
  DisplayText: Boolean);
begin
  Text:=Sender.AsString;
  DisplayText:=true;
end;

end.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1838814.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

git 基本命令

列出分支基本命令: git branch 如果我们要手动创建一个分支 。执行 git branch (branchname) 即可: git branch testing 切换到testing分支: git checkout testing 我们也可以使用 git checkout -b (branchname) 命令来创建新分支并立…

斯巴达(Spartanhost)VPS的性能评测

原创原文链接:详细斯巴达(Spartanhost)VPS的性能和购买价值评测 | BOBO Blog (soulcloser.com)https://www.soulcloser.com/3398/ 引言 最近看了全球的VPS商家,想搞台网站高性能的服务器,发现一个特别有意思的商家竟…

反激开关电源整流桥选型及计算

整流桥的作用就是把输入交流电压整形成直流电压,把正弦波整成馒头波,由于整流管的单向导电 性,在输入电压瞬时值小于滤波电容上电压时整流桥,在这个时候是不导通的,使整流桥的电流变 成2-3ms左右的窄脉冲。为获得所需…

深信服终端安全管理系统EDR版本升级过程

EDR当前版本为3.7.12,具体参考版本详情参数。需要升级到6.0.2R1版本,该版本更改了产品名称,叫做“统一端点安全管理系统aES” 当前版本详情 版本基础信息 软件版本:3.7.12.3829 病毒库版本:20240618174426 漏洞规则库&…

在金仓数据库中导入sql文件,解决中文数据乱码问题

先确定数据库服务端编码方式是UTF8,如果不是,那就先解决这个问题。操作:当连接数据库之后,执行show server_encoding 用Notepad打开,目的:确定文件编码是UTF-8格式 在sql文件前面加上set NAMES utf8; …

为什么AC/DC线性电源的体积大?

电源按照转换原理分类,可分为线性电源和开关电源。线性电源和开关电源的特点如下: 1、线性电源的调整管工作在放大状态,因而发热量大,效率低(与压降多少有关),需要加体积庞大的散热片。实现交流…

第6章 设备驱动程序(3)

目录 6.5 块设备操作 6.5.1 块设备的表示 6.5.2 数据结构 6.5.3 向系统添加磁盘和分区 6.5.4 打开块设备文件 本专栏文章将有70篇左右,欢迎关注,查看后续文章。 6.5 块设备操作 特点: 随机访问任意位置。 固定块大小的传输。 块设备在内…

探究 IP 地址被网站封禁的原因

在我们登录各种网站、APP浏览时,可能会遇到 IP 地址被某些网站封禁的情况。很多人奇怪这是为什么呢? 首先,违反网站的使用规则是比较常见的原因之一。比如,频繁发送垃圾邮件、恶意评论、进行网络攻击或试图破解网站的安全机制等不…

邻氯苯甲酰氯在医药、农药等领域应用广泛 市场需求稳定且有增长趋势

邻氯苯甲酰氯在医药、农药等领域应用广泛 市场需求稳定且有增长趋势 邻氯苯甲酰氯又称为2-氯苯甲酰氯、氯化邻氯苯甲酰,化学式为C7H4Cl2O,是一种化学物质,外观为黄色液体,不溶于水,溶于醇、醚、丙酮,有强烈…

调度算法-进程调度算法

发⽣ CPU 调度通常有以下情况: 1. 当进程从运⾏状态转到等待状态;2. 当进程从运⾏状态转到就绪状态;3. 当进程从等待状态转到就绪状态;4. 当进程从运⾏状态转到终⽌状态 常⻅的调度算法: 先来先服务调度算法最短作业…

@pytest.fixture与@pytest.mark.parametrize结合实现参数化

背景:测试数据既要在fixture方法中使用,同时也在测试用例中使用 使用方法:在使用parametrize的时候添加"indirectTrue"参数。pytest可以实现将参数传到fixture方法中,也可以在当前测试用例中使用。 原理:参…

硕思闪客精灵_2024最新版下载-闪客精灵软件下载_闪客精灵应用软件

​不同领域的应用证明了能够解析Flash动画片中的视频文件并以*.fla格式进行导出。人所共知的是支持预览和播放所选的Flash动画片或元素。我们都知道除了将静态文字恢复为文本外,硕思闪客精灵提供了将它转换为矢量图的功能。相信大家都认同闪客精灵专业版的优势&…

【YOLOv10改进[注意力]】添加注意力CascadedGroupAttention(2023) + 含全部代码和详细修改方式 + 手撕结构图 + 全网首发

本文将进行使用注意力CascadedGroupAttention的实践,助力YOLOv10目标检测效果的实践,文中含全部代码、详细修改方式以及手撕结构图。助您轻松理解改进的方法。 改进前和改进后的参数对比: 目录 一 CascadedGroupAttention 二 使用注意力CascadedGroupAttention 1 整体…

智慧校园软件开发:为学校量身定制的技术解决方案

为了满足智慧校园的需求,一套全面的软件解决方案被设计出来,旨在优化学校管理和提升教学质量。首先,通过实施统一的认证门户,结合OAuth2和SSO技术,确保不同用户群体能便捷且安全地访问所需资源。 教务管理系统被构建成…

【电源开发】输出电压纹波

输出电压纹波是什么 电压纹波指的是直流输出电压中一个交流部分 减小输出电压纹波的方法 调整输出端的电容值 提高开关电源的工作频率

项目二 OpenStack快速入门

任务一 熟悉OpenStack图形界面操作 1.1 Horizon项目 •各OpenStack服务的图形界面都是由Horizon提供的。 •Horizon提供基于Web的模块化用户界面。 •Horizon为云管理员提供一个整体的视图。 •Horizon为终端用户提供一个自主服务的门户。 •Horizon由云管理员进行管理…

码云建仓库

1.新建仓库 码云地址 打开 码云地址 ,点击“”,新建仓库,添加仓库内容 ,创建。 小提示:如果本地已有项目,就不要选初始化,设置模板,容易冲突。 2. 进入当前仓库页 小提示&#x…

Internet Download Manager(IDM下载器) v6.41官网版下载-IDM软件最新版下载附加详细安装步骤

根据大数据结果显示此软件具有动态档案分割、多重下载点技术,而且它会重复使用现有的联机,而不需再重新联机登入一遍。也就是说强大的下载引擎:强大的下载引擎使用独特的算法以最快的方式接收互联网数据,IDM由于其创新的动态文件分…

同三维高清大屏多功能一体机简介——高清多能数字矩阵

产品简介 同三维高清多能数字矩阵(硬件集软件于一体)是依据当前高清视频正广泛应用于各类项目工程的整体形势而专门研发的、特点显著、优势诸多、极具创新性的专业级一体化监控产品。高清多能数字矩阵采用WINDOWS操作系统,基于高性能配置的刀…

离线安装zabbix-agent,自制yum源方式安装

文章目录 1,机器准备大致思路 2,在机器A上操作2.1 执行完后会在/etc/yum.repos.d/下面自动生成yum文件(zabbix.repo)2.2 将官方源改为国内源2.3 修改zabbix.repo文件的[zabbix-frontend]的参数项2.4 清除缓存即可2.5 下载所需zabb…