DBGrid控件中怎么在双击事件中得到选定的记录?

gx_sunny 2000-08-15 03:44:00
...全文
218 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
flame3 2001-09-12
  • 打赏
  • 举报
回复
做一个新的form1,这个表单是dbgrid的双击事件产生的,在这个form1上放上几个dbtext或dbedit,其属性datasource设为与dbgrid相同的数据源,再把各个dbtext或dbedit的datafield属性设好,你再看是不是双击的是哪个纪录,显示在这个form1上的纪录就是哪条记录,绝对没错,我今天刚做过。
有问题写信 emma.z@263.net
SCUM 2000-09-02
  • 打赏
  • 举报
回复
wxz paste 的方法必须先建立了 bookmark 才能用。
可以在 DataTable 或 DataSource(只有一个有,记不起了) 的 OnChange 事件内获得
想要的记录(从 DataSet)
一定要处理 DBGrid 的双击那就直接 call OnChange 吧。
peng_hui 2000-08-30
  • 打赏
  • 举报
回复
假如鼠标双击的位置上没有记录,那从DataSet取出的就不对了。
你可以用DBGrid的MouseCoord试试,不过就是麻烦了点。
xinyue 2000-08-30
  • 打赏
  • 举报
回复
绝对不对,我在单击或别的事件中检测选中的记录,但始终为零,wxz 的方法是帮助信息里面有的,该段代码我始终不能让它执行,请大家再说说其中的原因
xinyue 2000-08-30
  • 打赏
  • 举报
回复
绝对不对,我在单击或别的事件中检测选中的记录,但始终为零,wxz 的方法是帮助信息里面有的,该段代码我始终让它执行,请大家再说说其中的原因
alexela 2000-08-17
  • 打赏
  • 举报
回复
双击只是形式,其实选定DBGRID时,数据集中的记录已选定,只需直接去操作数据集就可以了。当然DBGRID也提供了如此类似的访问数据集的方法和属性(可以细到每个单元格),两者各有千秋,视不同的需求而确定用哪个,不过我更喜欢直接操作数据集
Wingsun 2000-08-17
  • 打赏
  • 举报
回复
直接访问与DBGrid相连的DataSet就可以了。
wxz 2000-08-16
  • 打赏
  • 举报
回复
双击DBGRID时,首先会产生单击事件,这时DBGRID会把单击的条目标记为SelectedRows,
在DBGRID的双击事件中处理SelectedRows属性,可得到选定的记录
if (DBGrid1->SelectedRows->Count > 0)
{
AnsiString s = "";
TDataSet *pDS = DBGrid1->DataSource->DataSet;
for (int i=0; i < DBGrid1->SelectedRows->Count; i++)
{
pDS->GotoBookmark((void *)DBGrid1->SelectedRows->Items[i]); // 当前选定纪录
}
}
w102272 2000-08-15
  • 打赏
  • 举报
回复
不要管DBGRID,直接去读连接的数据集,就可以得到选定的记录。

13,822

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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