Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >带有行高变量的DBGRID

带有行高变量的DBGRID
EN

Stack Overflow用户
提问于 2015-08-27 10:10:13
回答 1查看 5.8K关注 0票数 2

我想在DBGRID中显示如下:

想象一下“网格”如下:

ID -描述

1-网格的第1行

2-网格的第2行

3-网格的第3行

现在,假设DESCRIPTION列的大小被更改,不再显示单词"GRID";

我也想待在DBGRID

ID -描述

1-第1行

准准格网

2-第2行

准准格网

3-第3行

准准格网

有可能吗??

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-27 11:01:20

不是你想要的但可能会有帮助..。我曾经使用这段代码在标准DBGrid中显示完整的备注字段:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  TMyForm = class(TForm)
    ...
  private
    FormMemoRect: TRect;
    MemoGrid: TDBGrid;
    BMemo: TBitBtn;
    ...

Procedure TMyForm.FormMemoDeactivate(Sender: TObject);
Begin
    (Sender As TForm).Close;
    Sender.Free;
End;

Procedure TMyForm.BMemoClick(Sender: TObject);
Var FormMemo: TForm;
Begin
    MemoGrid.SetFocus;

    FormMemo := TForm.Create(Self);
    With TMemo.Create(FormMemo) Do Begin
        Parent := FormMemo;
        Align := alClient;
        ReadOnly := True;
        WordWrap := True;
        ScrollBars := ssVertical;
        Lines.Text := MemoGrid.DataSource.DataSet.Fields[TComponent(Sender).Tag].AsString;
    End;

    With FormMemo Do Begin
        OnDeactivate := FormMemoDeactivate;
        Left := FormMemoRect.Left;
        Top := FormMemoRect.Top;
        Width := Max(FormMemoRect.Right - FormMemoRect.Left, 300);
        Height := FormMemoRect.Bottom - FormMemoRect.Top;
        BorderStyle := bsNone;

        Show;
    End;
End;

Procedure TMyForm.GrdMemoDrawColumnCell(Sender: TObject; Const Rect: TRect; DataCol: Integer; Column: TColumn; State: TGridDrawState);
Begin
    If (gdFocused In State) Then Begin
        If Column.Field.DataType In [ftBlob, ftMemo] Then Begin
            {Desenha botão para visualização do Memo}
            FormMemoRect.Left := TWinControl(Sender).ClientToScreen(Rect.TopLeft).X;
            FormMemoRect.Right := TWinControl(Sender).ClientToScreen(Rect.BottomRight).X;
            FormMemoRect.Top := TWinControl(Sender).ClientToScreen(Rect.BottomRight).Y;
            FormMemoRect.Bottom := FormMemoRect.Top + 100;

            If Not Assigned(BMemo) Then
                BMemo := TBitBtn.Create(Self);
            BMemo.Parent := TWinControl(Sender).Parent;
            BMemo.Width := 16;
            BMemo.Height := 16;
            BMemo.Caption := '...';
            BMemo.OnClick := BMemoClick;
            BMemo.Tag := Column.Field.Index;
            BMemo.Left := TWinControl(Sender).Left + Rect.Right - BMemo.Width + 1;
            BMemo.Top := TWinControl(Sender).Top + Rect.Top + 2;

            MemoGrid := TDBGrid(Sender);
        End
        Else
            FreeAndNil(BMemo);
    End;
End;

对于Blob/Memo字段,您可能还发现执行一些自定义GetText以直接在网格中显示某些内容是有用的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Procedure TMyForm.DataSetMemoGetText(Sender: TField; var Text: String; DisplayText: Boolean);
Begin
    Text := Copy(Sender.AsString, 1, 50);

    If Text <> Sender.AsString Then
        Text := Text + '...';
End;

结果就是这样。

PS:对不起,非标准的代码风格.

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32256591

复制
相关文章
ansible执行带有环境变量的脚本不生效
jenkins发布时,使用ansible执行远程主机上的启动tomcat脚本发现不生效,启动tomcat的脚本中有环境变量。
HaydenGuo
2019/12/12
2.9K0
ansible执行带有环境变量的脚本不生效
dart - 如何在带有DartFlutter的不同类上使用变量
我有一类是我的getToken类。在此类中,我得到的 token 是字符串 token 。这是我的 getToken.dart
徐建国
2021/08/03
2.6K0
高并发编程-自定义带有超时功能的锁
我们知道synchronized的机制有一个很重要的特点是:使用synchronized, 当一个线程获取了锁,其他线程只能一直等待,等待这个获取锁的线程释放锁,如果这个线程执行时间很长,其他线程就需要一直等待 。 除非获取锁的线程执行完了该代码块,释放锁或者线程执行发生异常,JVM会使线程自动释放锁。
小小工匠
2021/08/17
5420
高文:行向高处
教育和科研,是高文的事业, 也是他日日仍在行向的高处。 高文简介 第十届、十一届、十二届全国政协委员,中国工程院院士,北京大学博雅讲席教授、信息与工程科学部主任,国家自然科学基金委员会副主任,中国计算机学会理事长,AVS工作组组长,新一代人工智能产业技术创新战略联盟理事长。曾主持两项国家“973计划”(任项目首席科学家)、一项国家自然科学基金创新群体项目,以及20余项国家“863计划”、国家自然科学基金等项目。曾获得国家技术发明二等奖1次(2006)、国家科技进步二等奖5次(2000、2002、2003
腾讯高校合作
2018/03/19
1.1K0
高文:行向高处
IOS label 设置行高
使用NSMutableAttributedString 设置之后,你会发现多行文本的省略号...没有了,为了解决此问题,解决方案如下:
用户1219438
2020/08/11
1.2K0
IOS label 设置行高
前端基础-CSS行高属性
行高属性 语法: line-height:数字px; 代表的一行的高度,放在段落中,可以理解为是行距 总结: ​ 1.文字在行高中是垂直居中的 ​ 2.行高通常用于让文字在盒子中垂直居中
cwl_java
2020/04/07
8230
css行高line-height的用法(转)
本文导读: “行高“指一行文子的高度,具体来说是指两行文子间基线间的距离。在CSS,line-height被用来控制行与行之间的垂直距离。line- height 属性会影响行框的布局。在应用到一个块级元素时,它定义了该元素中基线之间的最小距离而不是最大距离。所有浏览器都支持 line-height 属性。
mingmingcome
2021/11/29
1K0
css行高line-height的用法(转)
css中还原字体与行高
<!DOCTYPE html> <html> <head> <title></title> <style type="text/css"> body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{ margin:0;padding:0 } p { b
贵哥的编程之路
2020/10/28
9650
fscanf读取一行字符串-C中带有fscanf的无延迟循环
  C中带有fscanf的无延迟循环,c,C,您好,我在使用fscanf读取二进制文件时遇到问题,值没有被存储,而循环是无限的这是我的密码int main(){FILE *reads=fopen("E1.bin", "rb");;int temp=0,temp1=0,temp2=0;if (reads==NULL) {printf("Error");return 0;}else {while((fscanf(reads,"%d %d %d", temp, temp1, temp2))!= EOF
宜轩
2022/12/26
1.7K0
CSS行高line-height的理解建议收藏
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/120752.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/15
5370
高维(多变量)优化问题的技术与瓶颈
现实世界中的优化问题往往具有较高的复杂度和维数,称为LSGO问题,即Large-Scale Global Optimization。
里克贝斯
2021/05/21
1.5K0
高维(多变量)优化问题的技术与瓶颈
前端基础-CSS尺寸与行高属性
取值:数字 + px/百分比/em -------------------------px代表像素,百分比代表浏览器宽度的百分比,em代表字符数
cwl_java
2020/04/07
1.7K0
前端基础-CSS尺寸与行高属性
Python中将变量按行写入txt文本中
在'w'写入模式下,当我们下次写入变量时,会覆盖原本txt文件的内容,这肯定不是我们想要的。TXT有一个追加模式'a',可以实现多次写入:
py3study
2020/01/10
7.5K0
Python中将变量按行写入txt文本中
Cell 动态行高文字显示不全问题探索
使用的是”预估行高+自动布局“的方法实现动态行高(适用于 iOS7.0 以后系统)。
woopDast1
2021/02/07
2.3K0
Cell 动态行高文字显示不全问题探索
python生成带有表格的图片
刚开始的思路,是直接生成一个带有table标签的html文件,然后将这个文件转成图片,经过查找资料发现需要安装webkit2png,而这个库又依赖其他的东西,遂放弃。
py3study
2020/01/07
5.1K0
Cell 动态行高文字显示不全问题探索
使用的是”预估行高+自动布局“的方法实现动态行高(适用于 iOS7.0 以后系统)。
woopDast1
2021/02/25
1.9K0
Cell 动态行高文字显示不全问题探索
什么是带有SSCC的DESADV?
在我们开始详细研究DESADV与SSCC之前,首先需要了解背景。近年来,零售业发生了实质性的变化。大多数小型杂货店的市场份额逐渐减少,大型零售商的分店占据了市场。这些小杂货店(也称为便利店)与今天的超市之间的区别是,超级市场提供的商品种类更多,并且供应商需要不断扩充商品种类。
知行软件EDI
2021/04/13
1.3K0
什么是带有SSCC的DESADV?
短代码-带有背景的Toast
这里逐渐收集了本人自己编写的「短代码」和「重复发明轮子(Reinventing the wheel)」。所有的短代码可前往 “时光”-“文章标签”-“短代码” 查看 DiyToast.class - 主要接口 /** * @author Administrator * @year 2019 * @Todo TODO 自定义Toast * @package_name com.example.shengsaidemo2019.toats * @project_name 2019ShengSaiDemo
奶油话梅糖
2021/03/16
1.1K0
点击加载更多

相似问题

如何调整DBGrid - Delphi的行高

19

Delphi中DBGrid中的列高

11

更改DBGrid行的颜色

12

Delphi访问DBGrid的行

22

DBGrid,dbf合并2行

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文