我看到有些DBGrid显示的字段下的值,有下拉菜单!是在怎么做到的?

yundou 2003-08-18 08:45:45
我看到有些DBGrid显示的字段下的值,有下拉菜单!是在怎么做到的?
...全文
59 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
ayukowa 2003-08-21
  • 打赏
  • 举报
回复
在form的oncreat事件是添加
//动态添加dbgrid的picklist值;
h:=0;
with AdoQuery2 do
begin
first ;
while not eof do
begin
DBGrid1.Columns[1].PickList.Add(FieldByName('机构名称').AsString);
inc(h);
next ;
end;
end;
bigtailwolf163 2003-08-21
  • 打赏
  • 举报
回复
刚刚试出来,同一字段的list改变

在CellClick事物里写:
……;//ColEnter中sql的where 条件
dbgNameColEnter(self);

注意DBGird的options->dgindicator设为true
bigtailwolf163 2003-08-21
  • 打赏
  • 举报
回复
如果是同一字段的不同记录动态改变list的内容呢????
jpyc 2003-08-20
  • 打赏
  • 举报
回复
http://218.56.11.178:8020/web/index.aspx

-> 下载基地->例程-数据库/报表->在DBGRID中下拉列表的显示
cjfzy 2003-08-19
  • 打赏
  • 举报
回复
自己画比较好,学习一下各个控件重要属性rect,你会受益匪浅!
overtime 2003-08-19
  • 打赏
  • 举报
回复
picklist
cobi 2003-08-19
  • 打赏
  • 举报
回复
picklist是可以实现你想要的功能,不过你会发现picklist在使用的时候并非那么的好用。

首先,你必须选中有关的字段后再单击一下才能调出下拉框(可能是为了保证用户不至误操作而至),所以我一般不会使用这个属性。

另外的办法是自己往dbgrid中添加(画)一个下拉框,这个在csdn上已经有很多帖子介绍过了,不过效果也是一般,尤其是当下拉框出现在dbgrid边缘的时候会出现超出的现象。

最好的办法是使用第三方的控件,如1stclass等,他们的grid在这方面做的不错,当然也可以参考他们的方法自己修改dbgrid
XXSingle 2003-08-19
  • 打赏
  • 举报
回复
双击DBGrid,添加字段,选中一个字段,找到PickList属性.....
添加值,楼上newsofter(横空出世小霸王) 说得好全
火龙岛主 2003-08-19
  • 打赏
  • 举报
回复
添加Lookup字段也可以实现同样的效果,
不过Lookup是针对query(Adoquery)实现的
鼠标双击query(adoquery),鼠标单击右键,
New Field设置Field type=Lookup
然后设置相关属性即可!
newsofter 2003-08-19
  • 打赏
  • 举报
回复
//在DBGrid的colEnter事件写下如下代码,即可实现下拉列表
with DBGri1.selectedfield do
if (FieldName='field1') then //field1下拉显示FieldMc值
with adoquery1 do
begin
close;
sql.Clear ;
sql.Add('select distinct fieldmc from table1 ');//信息来源表
open;
if recordcount>0 then
begin
first;
with DBgrid1 do
for j:=1 to FieldCount do
if columns[j].FieldName ='fieldmc' then
begin
columns[j].PickList.Clear;
for i:=1 to recordcount do
begin
columns[j].PickList.Add(fieldbyname('fieldmc').value);
next;
end;
break;
end;
end;
close;
end;
cjs5210 2003-08-19
  • 打赏
  • 举报
回复
呵呵,来晚了,PickList属性,楼上的几位已经说得很全了
sy_315 2003-08-19
  • 打赏
  • 举报
回复
给你介绍一本书
delphi6数据库使用程序设计100例
人民邮电出版社
书上第一个例子就是你提出问题的
还有过于dbgrid的排序问题
samcrm 2003-08-18
  • 打赏
  • 举报
回复
动态给DBGrid的PickList赋值
=============================
放一个memo,假设另一张表用query2连接。
memo1.clear;
query2.Open;
query2.First;
while not query2.eof do
begin
memo1.Lines.AddStrings(query2['某个字段']);//必须是string型字段
query2.next;
end;

DBGrid1.Columns[1].PickList:=Memo1.Lines;
yundou 2003-08-18
  • 打赏
  • 举报
回复
那PickList下的值,能不能从另外一张表中的某一个字段下的值读入!?
samcrm 2003-08-18
  • 打赏
  • 举报
回复
双击DBGrid,添加字段,选中一个字段,找到PickList属性,打开一个类似memo的窗口,输入即可。
samcrm 2003-08-18
  • 打赏
  • 举报
回复
PickList
ToolBar工具栏控件的使用 动态建立主菜单选项 窗口界面的动态分隔条 动态设置选项卡页面 在标题栏中自定义按钮 窗体开合窗帘效果 Windows XP界面效果 实现OutLook滚动工具栏效果 在下拉列表框中显示树形视图 自定义系统的About项 修改系统级菜单 实现透明窗体效果 爆破特技窗体 只允许建立一次子窗体的MDI程序 从外部DLL中调用子窗口 新颖的资源管理器界面 如何生成半圆形窗口 制作字幕滚动窗体 详解Canvas生成渐变色窗口背景 WINAPM风格磁化窗口 软件封面的图片显示制作 实现图片的任意角度旋转 奇妙的拼图游戏 使用PaintBox控件制作画图程序 使用DrawGrid控件制作五子棋 多彩的数据报表 按压缩比将BMP转换为JPG 16位真彩转换到256色 调整图片的RGB对比度 实现图像的灰度级处理效果 3种像素历遍方法的比较和实现 实现屏幕拷贝 实现图像漫游 4种幕布式图像显示技巧 盘旋法实现9种滤镜效果 图形朦胧叠合显示技巧 给MDI主窗体增加背景 实现图像的淡入淡出显示 多媒体播放器 播放AVI文件 根据客户端IP地址获取计算机名 实现多线程IP和DomainName相互转换 Windows2000下的Popup发送功能 如何实现Ping操作 实现多线程共享探测 实现Windows95/98的I/O端口读写 收发电子邮件与监视网络服务器资源 使用WebBrower制作浏览器 可视化的Ping工具 使用IdMappedPortTCP进行端口映射 动态设置ODBC数据源 用ADO控件打开Access数据库 DBGrid中的记录到Html页面的转换 在DBGrid中实现任意方向查找 在DBGrid中通过动态下拉列表查找记录 用DBGrid组件制作下拉列表形式的提示框 利用书签处理DBGrid中的多个记录 将ComboBox中的内容直接拖放到DBGrid里 如何在DBGrid里放置图标 DBGrid控件精彩组合 DBChart图表控件的使用 在StringGrid组件中显示查询结果 使用流对象(Tstream)实现数据表中Tmemo字段显示 如何动态建立SQLServer ODBC SQL浏览器 在SQL查询中使用动态参数 事务工作原理 标准/模糊查询 筛选数据 数据字典查看器 TDecisionGraph决策组件的使用 明细表(Master/Detail)结构 像处理文本资料一样处理数据表中的信息 远程数据库登录 远程数据库的离线处理 在远程数据库中实现主从表关系 动态设置远程数据库的查询参数 在远程数据库中计算统计 多线程与数据库 使用远程存储过程 数据模块的同步显示 建立Web服务的数据提供端 建立Web服务的数据访问端 开发WebSnap数据库程序 建立ActiveForm数据浏览 建立数据查询WebServices服务器端 数据查询Web服务客户端开发 基于WAP的手机无线应用 建立基本Web数据库服务器应用 建立类型库编辑DataSnap服务端 建立查询条件Web数据库服务器应用 建立基本MTS服务端 建立MTS数据访问客户端 建立IntraWeb数据浏览 将程序图标设置到Windows系统托盘 取得和修改文件的创建和修改日期 通过流式数据实现文件分割与合并 实现指定扩展名文件和相应程序的关联 获取汉字拼音的首字母 监视剪贴板 在IE工具栏上增加一个按钮图标 软件注册机制的建立 复活节彩蛋的制作 SkinEngine控件——XP换肤 ActionList——应用程序通用功能列表 OleContainer——OLE容器 将程序项设置到控制面板 艺术化排列桌面图标 Delphi中的ini文件的读写 建立键盘鼠标动作记录与回放 实现指定目录下的文件查询 实现对系统的操作监视 系统级热键的实现 检测NumLock、Insert、CapsLock、ScrollLock键的状态
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中输入的是数字
全部实例代码。目录如下: ToolBar工具栏控件的使用 动态建立主菜单选项 窗口界面的动态分隔条 动态设置选项卡页面 在标题栏中自定义按钮 窗体开合窗帘效果 Windows XP界面效果 实现OutLook滚动工具栏效果 在下拉列表框中显示树形视图 自定义系统的About项 修改系统级菜单 实现透明窗体效果 爆破特技窗体 只允许建立一次子窗体的MDI程序 从外部DLL中调用子窗口 新颖的资源管理器界面 如何生成半圆形窗口 制作字幕滚动窗体 详解Canvas生成渐变色窗口背景 WINAPM风格磁化窗口 软件封面的图片显示制作 实现图片的任意角度旋转 奇妙的拼图游戏 使用PaintBox控件制作画图程序 使用DrawGrid控件制作五子棋 多彩的数据报表 按压缩比将BMP转换为JPG 16位真彩转换到256色 调整图片的RGB对比度 实现图像的灰度级处理效果 3种像素历遍方法的比较和实现 实现屏幕拷贝 实现图像漫游 4种幕布式图像显示技巧 盘旋法实现9种滤镜效果 图形朦胧叠合显示技巧 给MDI主窗体增加背景 实现图像的淡入淡出显示 多媒体播放器 播放AVI文件 根据客户端IP地址获取计算机名 实现多线程IP和DomainName相互转换 Windows2000下的Popup发送功能 如何实现Ping操作 实现多线程共享探测 实现Windows95/98的I/O端口读写 收发电子邮件与监视网络服务器资源 使用WebBrower制作浏览器 可视化的Ping工具 使用IdMappedPortTCP进行端口映射 动态设置ODBC数据源 用ADO控件打开Access数据库 DBGrid中的记录到Html页面的转换 在DBGrid中实现任意方向查找 在DBGrid中通过动态下拉列表查找记录 用DBGrid组件制作下拉列表形式的提示框 利用书签处理DBGrid中的多个记录 将ComboBox中的内容直接拖放到DBGrid里 如何在DBGrid里放置图标 DBGrid控件精彩组合 DBChart图表控件的使用 在StringGrid组件中显示查询结果 使用流对象(Tstream)实现数据表中Tmemo字段显示 如何动态建立SQLServer ODBC SQL浏览器 在SQL查询中使用动态参数 事务工作原理 标准/模糊查询 筛选数据 数据字典查看器 TDecisionGraph决策组件的使用 明细表(Master/Detail)结构 像处理文本资料一样处理数据表中的信息 远程数据库登录 远程数据库的离线处理 在远程数据库中实现主从表关系 动态设置远程数据库的查询参数 在远程数据库中计算统计 多线程与数据库 使用远程存储过程 数据模块的同步显示 建立Web服务的数据提供端 建立Web服务的数据访问端 开发WebSnap数据库程序 建立ActiveForm数据浏览 建立数据查询WebServices服务器端 数据查询Web服务客户端开发 基于WAP的手机无线应用 建立基本Web数据库服务器应用 建立类型库编辑DataSnap服务端 建立查询条件Web数据库服务器应用 建立基本MTS服务端 建立MTS数据访问客户端 建立IntraWeb数据浏览 将程序图标设置到Windows系统托盘 取得和修改文件的创建和修改日期 通过流式数据实现文件分割与合并 实现指定扩展名文件和相应程序的关联 获取汉字拼音的首字母 监视剪贴板 在IE工具栏上增加一个按钮图标 软件注册机制的建立 复活节彩蛋的制作 SkinEngine控件——XP换肤 ActionList——应用程序通用功能列表 OleContainer——OLE容器 将程序项设置到控制面板 艺术化排列桌面图标 Delphi中的ini文件的读写 建立键盘鼠标动作记录与回放 实现指定目录下的文件查询 实现对系统的操作监视 系统级热键的实现 检测NumLock、Insert、CapsLock、ScrollLock键的状态
《Delphi7编程100例》代码目录:---------------------------------------------ToolBar工具栏控件的使用动态建立主菜单选项窗口界面的动态分隔条动态设置选项卡页面在标题栏中自定义按钮窗体开合窗帘效果Windows XP界面效果实现OutLook滚动工具栏效果在下拉列表框中显示树形视图自定义系统的About项修改系统级菜单实现透明窗体效果爆破特技窗体只允许建立一次子窗体的MDI程序从外部DLL中调用子窗口新颖的资源管理器界面如何生成半圆形窗口制作字幕滚动窗体详解Canvas生成渐变色窗口背景WINAPM风格磁化窗口软件封面的图片显示制作实现图片的任意角度旋转奇妙的拼图游戏使用PaintBox控件制作画图程序使用DrawGrid控件制作五子棋多彩的数据报表按压缩比将BMP转换为JPG16位真彩转换到256色调整图片的RGB对比度实现图像的灰度级处理效果3种像素历遍方法的比较和实现实现屏幕拷贝实现图像漫游4种幕布式图像显示技巧盘旋法实现9种滤镜效果图形朦胧叠合显示技巧给MDI主窗体增加背景实现图像的淡入淡出显示多媒体播放器播放AVI文件根据客户端IP地址获取计算机名实现多线程IP和DomainName相互转换Windows2000下的Popup发送功能如何实现Ping操作实现多线程共享探测实现Windows95/98的I/O端口读写收发电子邮件与监视网络服务器资源使用WebBrower制作浏览器可视化的Ping工具使用IdMappedPortTCP进行端口映射动态设置ODBC数据源用ADO控件打开Access数据库DBGrid中的记录到Html页面的转换在DBGrid中实现任意方向查找在DBGrid中通过动态下拉列表查找记录用DBGrid组件制作下拉列表形式的提示框利用书签处理DBGrid中的多个记录将ComboBox中的内容直接拖放到DBGrid里如何在DBGrid里放置图标DBGrid控件精彩组合DBChart图表控件的使用在StringGrid组件中显示查询结果使用流对象(Tstream)实现数据表中Tmemo字段显示如何动态建立SQLServer ODBCSQL浏览器在SQL查询中使用动态参数事务工作原理标准/模糊查询筛选数据数据字典查看器TDecisionGraph决策组件的使用明细表(Master/Detail)结构像处理文本资料一样处理数据表中的信息远程数据库登录远程数据库的离线处理在远程数据库中实现主从表关系动态设置远程数据库的查询参数在远程数据库中计算统计多线程与数据库使用远程存储过程数据模块的同步显示建立Web服务的数据提供端建立Web服务的数据访问端开发WebSnap数据库程序建立ActiveForm数据浏览建立数据查询WebServices服务器端数据查询Web服务客户端开发基于WAP的手机无线应用建立基本Web数据库服务器应用建立类型库编辑DataSnap服务端建立查询条件Web数据库服务器应用建立基本MTS服务端建立MTS数据访问客户端建立IntraWeb数据浏览将程序图标设置到Windows系统托盘取得和修改文件的创建和修改日期通过流式数据实现文件分割与合并实现指定扩展名文件和相应程序的关联获取汉字拼音的首字母监视剪贴板在IE工具栏上增加一个按钮图标软件注册机制的建立复活节彩蛋的制作SkinEngine控件——XP换肤ActionList——应用程序通用功能列表OleContainer——OLE容器将程序项设置到控制面板艺术化排列桌面图标Delphi中的ini文件的读写建立键盘鼠标动作记录与回放实现指定目录下的文件查询实现对系统的操作监视系统级热键的实现检测NumLock、Insert、CapsLock、ScrollLock键的状态

2,495

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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