delphi中,为什么dbgrid不能显示memo字段里的内容.

learn_vb 2000-09-11 12:15:00
delphi中,为什么dbgrid不能显示memo字段里的内容.
...全文
343 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
larm 2000-09-24
  • 打赏
  • 举报
回复
..
zengyufeng 2000-09-21
  • 打赏
  • 举报
回复
//在你的程序中添加以下代码
interface

type
TMainForm = class(TForm)
//....
//....
private
procedure DoOnShowTextField(Sender: TField; var Text: string;
DisplayText: Boolean);
procedure SetTextFieldEvent(const ADatSet: TBDEDataSet);
//....
//....
end;

implementation

procedure TMainForm.DoOnShowTextField(Sender: TField; var Text: string;
DisplayText: Boolean);
begin
Text := Sender.AsString;
end;

procedure TMainForm.SetTextFieldEvent(const ADatSet: TBDEDataSet);
var
i: integer;
begin
with ADatSet do
begin
DisableControls;
try
for i := 0 to Fields.Count - 1 do
if Fields[i] is TMemoField then
Fields[i].OnGetText := DoOnShowTextField;
finally
EnableControls;
end;
end;
end;

//然后在相应的数据集的AfterOpen事件中调用 SetTextFieldEvent(数据集);
dragoncircle 2000-09-19
  • 打赏
  • 举报
回复
MEMO字段内容太多,在表格中放不下,所以DBGRID没有这项功能。
xfchai 2000-09-19
  • 打赏
  • 举报
回复
用dbctrlgrid,自己放dbmemo到上面
alin 2000-09-11
  • 打赏
  • 举报
回复
有这个必要吗?
netboy 2000-09-11
  • 打赏
  • 举报
回复
不为什么,用dbmemo吧!!!
DBGRIDEH 是Enlib 3.0组件包的组件之一。Enlib 3.0组件包是一位俄国人为增强Borland系列开发工具功能而开发的第三方组件,它具有界面友好、功能强大、开发效率高、、快速制作预览/打印简单国式报表等特点。因此,一推出即受到广大Borland程序员的青睐。目前这个版本支持Borland Delphi versions 4,5,6&7 和 Borland C++ Builder versions 4 & 5 ,可极大地提高数据库应用系统客户端的性能。许多商品软件如《速达2000》等都使用了该组件。下面本人将使用该组件在实际系统开发过程的经验总结如下。 Enlib3.0组件包最重要而且功能最强大的莫过于dbgrideh组件,本文介绍的所有实例均在Delphi 7开发环境下调试通过。 一、DBGridEh(增强型表格组件)功能详解 DBGridEh组件无论在外观上还是功能上都非常类似Borland开发工具现有的dbgrid组件,它除了提供dbgrid组件的全部功能外,还增加了下列新功能: ● 任意选择多行、列或矩形区域的数据. ● 为多列标题设定共同的父标题行. ● 表格底部(Footer) 区显示求和、计数和其它统计信息. ● 自动调整组件宽度与客户区域等宽. ● 设置标题行、数据行的高度. ● 超长的标题行、数据行文本自动折行处理. ● 标题行可作为按钮使用,并可选择是否显示排序标志符(▽降序△升序). ● 点击列标题可对当前列自动排序而无需编写代码. ● 能够自动设置删除超长文本显示不下的多余部分,并以省略号(…)代替. ● 自动搜索字段(Lookup)数据单元格以单、多列字段下拉列表形式显示. ● 自动搜索字段(Lookup)数据单元格可进行增量搜索. ● 可锁定任意列数在屏幕水平方向不滚动. ● 日期时间控件DateTime picker 可支持TDateField and TDateTimeField两种日期格式. ● 根据字段不同值显示关联的ImageList 对象图片组的图片. ● 隐藏任意列. ● 显示3D风格的数据区、表尾区和锁定滚动列,制作3D外观表格. ● 显示Memo类型字段值. ● 除BOOLEAN型数据外,其它数据类型也可以检查框( checkbox )形式显示数据. ● 使用专门的函数和过程来存取以reg或ini文件格式保存的表格布局(包含各数据列表、数据列访问顺序、列宽、索引标识、行高等信息)文件。 ● 通过设置数据单元格的hint和ToolTips属性,当移动鼠标到该单元格时,可以显示单元格容纳不下的文本内容. ● 将组件数据导入/导出到Text, Csv, HTML, RTF, XLS 和内部数据等多种格式的文件.
ListView 排序 Stringgrid内使用回车键代替Tab键 TListBox内显示分栏 TListBox每一行显示交互的颜色 TMemo内光标位置根据鼠标移动 TMemo自动卷动 TRichEdit卷到特定位置 TRxRichEdit内插入图像 TStringGrid插入、删除一行 TStringGrid保存和装载 TTreeview控件显示粗体节点 TWebBrowser调用“查找”对话框 为Listview栏添加双击事件 为工具栏的TToolButton设置新的索引 仅通过Classname创建和管理任意窗体 从RichEdit取Rtf格式 从TListBox拖放项目到TRichEdit 从一个TRichedit复制格式Rtf文本到其它 使用CustomSort方法排序TListView 使用DBGrid字段队列同步列标题队列 使用Interfaces和TInterfaceList 使用TRichEdit存储大于64K数据 使用代码移动StringGrid的行和列 使用圆形角显示控件 使用类名显示窗体 保存 装载TCheckListbox值 保存和装载TListView 保存和装载TTreeView 允许TDBGrid栏调整大小但防止移动 克隆控件 克隆窗体 列出控件的所有属性和事件 创建可编辑ListBox 删除Listbox的所有选定项目 删除stringlist重复项目 删除TStringGrid的列 动画窗体 取ComboBox List句柄 取TListview内所有选定项目 取TShellListView选定文件的路径 取列举值的名称 在combobox实现autocomplete 在DBGrid使用回车键改变到下一个段 在listbox内列出所有目录、文件和驱动器 在Listbox内显示水平滚动条 在memo实现UNDO 在RichEdit内搜索文本并选择它 在StringGrid内使用Combobox作为编辑器 在StringGrid单元画不同颜色 在TComboBox显示栏 在TComboBox内绘制位图 在TDateTimePicker内显示星期几 在TFileListBox内显示多列 在TListBox创建彩色项目 在TListBox内拖拽 在TListbox内绘制位图 在TListview内执行二进制搜索 在TListView内拖拽多个项目 在TListView列创建进度条 在TMemo内查看和编辑MS-DOS文本 在TPageControl拖拽Tabs 在TPrintDialog上放置定制控件 在TRichEdit内使用上标和下标 在TRichEdit内使用超链接 在TRichEdit内文本使用不同的下划线样式 在TRichedit内设置段落行距 在TStringGrid内删除一行 在TStringGrid实现OnColumnClick事件 在自己的控件显示信息 复制Listbox项目到剪贴板 失效TTreeview的tooltips 定制TDateTimePicker的格式 居控件 屏蔽在EditBox内按回车键的都都声 强制在TEdit内输入 排序StringGrid 搜索和替换RichEdit文本 搜索和选定TListBox的项目 改变TDBGrid的DefaultRowHeight 改变TRichEdit内选定文本的背景颜色 改变TStringGrid内选定单元的颜色 改变标准对话框 改变状态栏字体样式 改变窗体上所有控件的属性 改变进度条颜色 根据StringGrid内容自动调整大小 根据列排序TStringGrid 检查Stringgrid指定单元示范选定 检查TMemo能否取消操作 检查TreeView是否完全展开或折叠 检查TStringGrid是否有滚动条 添加接口对象到list 清空StringGrid的所有单元 移动listbox项目 移动TListView项目 移动TRichEdit内光标到指定位置 聚焦TDBGrid某些单元 自动打开TDateTimePicker 自定义Memo边界 获取TRichEdit鼠标指针下面的字 访问TRadioGroup的控件 调整TComboBox下拉列表的宽度 转换Editbox的首字符为大写 转换TEdit每个词的首字母为大写 输出TStringGrid到TListView 运行时创建TButtons队列 运行时创建控件 运行时创建菜单项 运行时替换控件 返回TTreeView内字符串路径 防止在TEdit内剪贴、复制、粘贴 防止用户调整TListView栏大小 限制TEdit的输入 隐藏TListView滚动条 隐藏最小化MDI子窗口 颜色Combo Box 验证TEdit输入的是数字
[说明] DiSQLiteApi.dcu 文件根据实际开发环境在包内进行选择 本版本的 ASqlite 是基于 livu999 大侠的修改版继续魔改 原帖地址:http://download.csdn.net/download/ilvu999/6369053 本版本只支持 D2009 以上的 Unicode 版本的 Delphi 原作者在主要单元文件已经说明清楚了,老版本 Delphi 请绕道 为了照顾 XE2 下使用的朋友,故最后做了兼容 再照顾一下 DBGrid,令其不再显示 (MEMO) 另外做了兼容,在 XE8 开发环境及 64 位平台下通过基本测试            katar1024 (网名:阿龙) 2017-08-22 大改支持 TWideMemo,在此解决乱码问题 修正启用 SQLiteDateFormat 的情况下读取非正规日期字符串引起异常的 bug 查询语句表名和字段名用括号 [] 引括,可以使用 Index 之,等保留字段名 删除属性 CharacterEncode,一律按默认的 Uft-8 格式存取字符串 删除属性 DriverDll,已经启用 SQLite 静态库方式编译并链接,不需携带 dll 使用 DISQlite 的静态库编译,版本 3.8.3,兼容性和稳定性均良好 2017-08-23 插入和更新操作只针对已修改的字段进行处理和提交,提高执行效率 插入记录后,同步读取库的数字和日期默认值,对取值自动分配 id 有意义 所有调试记录代码全部加了条件编译块控制,减小体积,提高调度效率 优化类型数据存取分支代码,减少体积,提高读写效率 去除初次读取数据 100 字节大小缓冲区的限制,防止字符串乱码 其它性能优化 其它 bug 修复 2017-08-24 修正设计器属性框 Active 属性设置为 True,但运行时未打开查询的 bug ftString、ftWideString、ftMemo、ftWideMemo 等字符串字段通过乱码测试 Memo 字段添加显示功能,控件不再显示(MEMO)或(WIDEMEMO) Memo 字段支持 AsInteger、AsDataTime 等数据功能(设计器预定义的字段无效) 2017-08-25 修改关键属性时自动关闭数据连接 TransactionType、TempStore, DefaultSynchronous 等属性从字符串值修改为枚举值 修正 TypeLess 功能 添加 TASQLiteBaseQuery 一些关键属性在设计器改变后自动关闭查询的功能 修正 Filtered 属性在设计器改变后,但结果没变的 bug PS: 本来想弄个批处理提交功能的(BatchedUpdates 或 CachedUpdates), 在某些场合很实用,但最近改的问题太多了,改得好累,等下次真正用到了再补上 对 SQLite 的初恋蛮深的,但不得不吐槽,想说爱它真的很不容易

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧