DBGrid中如何取得某一行其中一个字段的值?谢谢。

galaxyseeker 2003-08-21 09:28:36
DBGrid在浏览时,某一行前面有个I形的光标,如何取得此行某列的值呢?
...全文
110 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
wellshddelphi 2003-08-21
  • 打赏
  • 举报
回复
楼上的,好象这样不行呀!报语句错误! 请问有没有直接在dbgrid上提取值的,这样我在从dbgrid上添加记录到数据库时候就可以对添加的数据进行判断了.
玉泽天成 2003-08-21
  • 打赏
  • 举报
回复
用SQL语句实现

select case sex
when 0 then '男'
when 1 then '女'
end
from table where ……
wellshddelphi 2003-08-21
  • 打赏
  • 举报
回复
不是这个意思,我不要求改变数据库中的数据,我只是想改变数据在dbgrid上的显示方式,比如;如果dbgird中某一字段内的数据等于0时,就让它显示'男',这样的话该怎么样实现呢?
IwantFlay 2003-08-21
  • 打赏
  • 举报
回复
dbgrid1.datasource.dataset.fieldbyname(dbgrid1.columns[dbgrid1.col-1].fieldName).asString
//这一句是取得你当前点中单元格的值
noil0125 2003-08-21
  • 打赏
  • 举报
回复
dbgrid1.SelectedField.AsString
fangzhouyu 2003-08-21
  • 打赏
  • 举报
回复
用什么显示的?Table,Query,Clientdataset?
都可以用table(Query,Clientdataset).fieldvalue['字段名']
galaxyseeker 2003-08-21
  • 打赏
  • 举报
回复
通过DBGrid的某个属性能够取得吗?
IORILI 2003-08-21
  • 打赏
  • 举报
回复
select 字段名 from table
sy_315 2003-08-21
  • 打赏
  • 举报
回复
用sql语句实现?

sidney5 2003-08-21
  • 打赏
  • 举报
回复
在dbgird中某一字段内的数据等于0时,就让它显示'男',这样跟在dbgird中的某个字段有下拉菜单的道理一样(这样的话就需要多一张表,用来记录0,男;1,女)。从新设置要显示的field,你要显示的男,女是个新field,只要设置好field type为lookup,还有keyfield,lookupkeyfield,lookupresultfield。
这个方法不太好,但可以实现你说的,不知道你看明白没有?
bengan 2003-08-21
  • 打赏
  • 举报
回复
关注!
reprint 使用说明 本人长期使用delphi做数据库的开发,报表控件使用Quickrpt,在打印上经常遇到一些问题,于是自己经常编写一部分打印的程序,经过总结开发了这个控件。 本控件可打印 datasource,dbgrid,stringgrid. 一 、控件属性: 1、colstitle 设置报表的列标题属性 (1)alignment 列标题对齐方式。 (2)font 列标题字体 (3)print 设置是否打印列标题 (4)rowspace 列标题行的高度 2、datasource 选择要打印的datasource 3、dbgrid 选择要打印的dbgrid 4、stringgrid 选择要打印的stringgrid 5、detail 设置要打印的明细数据属性 (1)arrange 设置明细字段排列方向 Horizontal 横向打印(默认的一般打印) Vertical 竖向打印(字段竖向排列适合打印字段内容较长的报表如“会议纪录”) (2)aotureturn 打印明细字段时,如果字段超过列的宽度是否允许自动换行 (3)colsline 设置竖线属性引用tpen类 (4)footer 设置明细尾 (5)frame 设置明细边框属性引用tpen类 (6)head 设置明细头同footer (7)rowsline 设置横线属性引用tpen类 (8)rowspace 设置明细行的高度 (9)top 明细与标题的距离 6、page 设置纸张的上下左右边距 7、pagefooter 设置页脚同明细尾 8、pageheader 设置页眉同页脚 9、printobject 选择要打印的对象 (datasource 、dbgrid、 stringgrid ) 10、title 设置标题类页眉、页脚 二 、控件方法: (1) preview 预览 (2) print 打印 (3) SaveToFile() 保存为报表文件 (4) SaveToStream() 保存为流(然后就可把整个报表存到数据库了很方便哦! ~_~) (5) PrintFile() 打印报表文件 (6) PrintStream() 打印流(流的数据库存取就不用多说了吧) (7) PreviewFile() 预览文件 (8) PreviewStream() 预览流 (9) OptionToStream() 报表的属性保存为流 (10) OptionFromStream() 从流得到报表属性 三、 控件事件: AfterPrint 打印后 BeforePrint 打印前 (本来很多事件,但没有预览,后来加上预览以及一些方法后实现很困难就去掉了!) 四、注意事项 (1) text 属性,输入“¦;;;;;;;#¦;;;;;;;”打印页码,如果想打印页码可输入“第¦;;;;;;;#¦;;;;;;;页” 输入“¦;;;;;;;RecordCount¦;;;;;;;”打印 记录数 (2) 不同的打印机,打印和预览效果可能有一点点不同(保证数据打印完全正确一致)。本人用一台针式和一台激光打印机做测试,开始差别较大后经过调试基本一致,不知其他打印机如何。 就这些个吧基本满足了我的软件开发需要,解决了很多问题,关键是做报表省了很大力气,当然了很复杂的报表还是要其它报表控件来解决。如果有其他问题或好的建议可与我联系。 程序设计:吴进昊 E-mail :jinhaowu@hotmail.com qq :54254770 2003.01.03
作为ComponentOne Studio for .NET 和 ComponentOne Studio Enterprise的一部分,ComponentOne True DBGrid for .NET是我们受欢迎的ActiveX控件-True DBGrid Pro的.NET版本。它使用ADO.NET,最新的数据绑定技术,能完全管理数据库界面并提供强大灵活的浏览,编辑,添加和操作表格数据的能力。 True DBGrid Pro for ActiveX的爱好者会喜欢ComponentOne True DBGrid for .NET。因为它包含了您所依赖的特性:复合显示模式,具有独立或同步滚动的水平和垂直拆分,完全可定制网格界面(字体,颜色,图片和格式),增强键盘导航,健壮的打印选项以及其它更多特性! [特 性] ComponentOne True DBGrid for .NET具有您对我们畅销的ActiveX 控件True DBGrid Pro所期望的高级特性。以下是一个实例: 复合显示模式以最实用的格式表示数据:标准Outlook样式分组,可以动态的排序网格列;分层数据显示提供了增强的Master-Detail显示以及完全可编辑的下拉视图;窗体视图可在需要能修改的标准“窗体”重新定位数据;反转视图可将行转换为列,从而提供方便的“向下读”方式。 Microsoft Word- 和Excel-类型模型定制网格的外观:字体,颜色,图片以及格式化规范。从列和行边框…到前景图片…到正文环绕。能非常简单的让网格显示出您需要的结果。 具有定制滚动条的垂直和水平分割可以水平,垂直和两者同时分割网格!此外,您具有对滚动行为的控制:选择具有在每个分割独立工作的滚动条(对于需要从不同列的数据对比字段时非常有效)或选择一个滚动条同步滚动复合分割。 2D和3D单元显示选择两维,三维和两者结合来控制单元外观符合您的要求。例如,您可能希望允许鼠标移动元素来获得一个3D外观。 Excel-类型单元格选项选择不但可以是任何行或列,而且可以是任何区域的单元。 丰富的滚动能力跟踪滚动条的位置并且在滚动条移动时给用户一个信息弹出框。 自动调整列尺寸(弹性模式)当网格水平尺寸调整时,通过适当改变列的尺寸保证您的数据可见。 增强键盘导航当用户按回车键时使用DirectionAfterEnter属性控制下一单元的相应位置。 FilterBar数据输入行实现定制用户操作,如增长搜索和记录集过滤。 标签属性可以向一个列附加任何类型的对象。 合并相邻单元从指定的列合并相邻数据行到一个不可编辑单元,或独立显示所有单元属性。 AutoDropdown和 AutoCompletion属性 · 通过减少下拉选项所需按键次数来简化数据输入。 · 自动将网格单元转换为True DBDropDown · 连接一个TDBDropDown控件到一个包含和描述的表上,该表的下拉选项将自动的将描述映射到该上。 · 健壮的打印选项 · 控件打印具有完备的功能,如缩放,调整到窗体,停止分页以及打印预览。
你的 DBGrid 需要合计行吗?想做出速达 E2 一样的单据录入界面吗?有了 QLGrid Suite,这些都不是问题! TQLDBGrid --------- 1、国财务凭证式的金额显示。各显示位之间的分隔线颜色可自行定义,并可在标题行上显示“...万千百十个角分”!!! 2、支持多种方式的合计行。支持合计、平均、计数、文本等方式的合计行。国财务凭证式的金额显示在合计行上同样适用。合计行的颜色可自行定义!!! 3、可在 Grid 的各列上嵌入任意控件来代替默认编辑器,例如可在布尔型字段的列上嵌入 DBCheckBox,在一只读或计算字段的列上嵌入 DBEdit!!! 4、支持交替式的行颜色显示。奇数行和偶数行可定义不同的颜色 5、自适应宽度。Grid 的各列的宽度随 Grid 宽度的改变可自行调整宽度,使其始终填充整个 Grid 客户区域 6、回车键转换为制表键。可将回车键当作制表键来处理,使用户敲回车键时自动转入下一列或行,输入数据更快速方便 7、结合 TQLQRDBGridBuilder 自动生成 QuickReport 报表,省去手工制作报表的麻烦!!! 8、结合 TDBLookupComboBox 实现输入内容按拼音码查找(如同速达 E2 的品名输入方式),而不必在大量的产品目录来回查找或强迫用户记忆大量的产品代码!!! 9、继承自标准的 TDBGrid,使用 TDBGrid 或其子类开发的现有程序可实现平滑升级 更多强大的特性.... TQLDBLookupComboBox ------------------- 标准 DBLookupComboBox 的替代品,提供了方便国用户使用的强大特性 1、弹出的列表框的内容可按拼音码或原文(包含方式)查找!!! 2、弹出的列表框的下面可显示相应的操作按钮,如显示新建、修改、置空按钮来针对当前记录提供操作!!! 3、属性完全兼容 TDBLookupComboBox ......
功能更加强劲,增加多行表头的功能,新增更多事件,加强了打印期间对报表样式 的控制,可随意改变打印内容。 reprint 使用说明 本控件可打印 datasource,dbgrid,stringgrid. 一 、控件属性: 1、colstitle 设置报表的列标题属性 (1) Print:boolean;;是否打印 (2) Font:tfont;;字体 (3) Rowsline:tpen;;横线样式 (4) Colsline:tpen;;竖线样式 (5) Alignment:talignment;;对齐方式 (6) Rowspace:integer;;行间距 (7) EveryPage:boolean;;是否每页打印 (8) EveryRow:boolean;;是否每行打印 (9) titlearray:tstrings;;怎加标题组 (使用方法见附带demo) (10) rows:integer;;设置默认列标题打印行数 2、datasource 绑定 datasource 3、dbgrid 绑定 dbgrid 4、stringgrid 绑定 stringgrid PrintObject 选择打印的对象(datasource 、dbgrid、 stringgrid ) 5、pagefooter 页脚 pageheader 页眉 (1) Text:string;;内容 (2) Font:tfont;;字体 (3) Print:boolean;;是否打印 (4) Alignment:talignment;;对齐方式 6、detail 设置要打印的明细数据属性 (1)arrange 设置明细字段排列方向 Horizontal 横向打印(默认的一般打印) Vertical 竖向打印(字段竖向排列适合打印字段内容较长的报表如“会议纪录”) (2)aotureturn 打印明细字段时,如果字段超过列的宽度是否允许自动换行 (3)colsline 设置竖线属性引用tpen类 (4)footer 设置明细尾 (设置同pagefooter 页脚 pageheader 页眉) (5)frame 设置明细边框属性引用tpen类 (6)head 设置明细头(设置同pagefooter 页脚 pageheader 页眉) (7)rowsline 设置横线属性引用tpen类 (8)rowspace 设置明细行的高度 (9)top 明细与标题的距离 (10)Alignment对齐方式 7、page 设置纸张 (1) leftmargin:real;;左边距 (2) rightmargin:real;;右边距 (3) topmargin:real;;顶边距 (4) bottommargin:real;;底边距 (5) pagesize:TPageSize;;纸张类型 (6) Height:real;;高度 (7) width:real;;宽度 (8) Orientation:TPrinterOrientation;;打印方向 注意:设置纸张的宽度和高度需把pagesize设为Custom 8、title 设置标题 (1) Print:boolean;; 是否打印 (2) Text:tstrings;; 内容可设置多行 (3) Font:tfont;;字体 (4) Alignment:talignment;;对齐方式 (5) top:integer;; 距纸张顶部距离 (6) Rowspace:integer;;行距 (7) EveryPage:boolean;;是否每页打印 二 、控件方法: (1) preview 预览 (2) print 打印 (3) SaveToFile() 保存为报表文件 (4) SaveToStream() 保存为流(然后就可把整个报表存到数据库了很方便哦! ~_~) (5) PrintFile() 打印报表文件 (6) PrintStream() 打印流(流的数据库存取就不用多说了吧) (7) PreviewFile() 预览文件 (8) PreviewStream() 预览流 (9) OptionToStream() 报表的属性保存为流 (10) OptionFromStream() 从流得到报表属性 (11) OptionPost()在打印期间改变了报表属性,要想立即生效调用此方法。 (12) PaintText(Text:string) 覆盖原有打印的字符,一般在能返回当前打印的内容的事件使用。(见控件事件) 三、 控件事件: (1) AfterPrint 打印后 (2) BeforePrint 打印前 (3) OnPrintDetail(RecordNumber: Integer)在打印每一栏明细前触发此事件, 返回参数:RecordNumber返回当前打印行数。 (4) OnPrintDetailField(RecordNumber,FieldIndex: Integer;; FieldText: String);; 在打印明细的每个字段都会触发此事件。 返回参数:RecordNumber返回当前打印行数。 FieldIndex 字段索引 FieldText字段内容 (5) OnPrintTitle(Row: Integer;; Text: String)打印每行标题都会触发此事件。 返回参数:row当前打印的行 Text当前打印的内容 (6) OnPrintColsTitleField(Row, FieldIndex: Integer;; FieldName: String);; 打印列标题字段时触发此事件 返回参数:row当前打印的行 FieldIndex当前打印的字段索引 FieldName当前打印的字段名称 (7) OnPrintColsTitle(Row: Integer) 打印每行列标题时触发此事件 返回参数:row当前打印的行 四、注意事项 (1) text 属性,输入“¦#¦”打印页码,如果想打印页码可输入“第¦#¦页” 输入“¦RecordCount¦”打印 记录数 (2) 不同的打印机,打印和预览效果可能有一点点不同(保证数据打印完全正确一致)。本人用一台针式和一台激光打印机做测试, 开始差别较大后经过调试基本一致,不知其他打印机如何。 (3) 纸张大小以及横向、竖向自动适应系统默认也可设置。 (4) 各列的宽度按比例,适应纸张宽度打印。 程序设计:吴进昊 E-mail :jinhaowu@hotmail.com qq :54254770 2003.01.03

2,497

社区成员

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

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