社区
C++ Builder
帖子详情
DBGrid关联的数据集Open()以后,默认选中了第一条,但是SelectedRows->Count=0,为什么?还有SelectedIndex设置上也不起作用,为什么呢?
书生
2003-02-20 10:55:39
如题。
...全文
146
24
打赏
收藏
DBGrid关联的数据集Open()以后,默认选中了第一条,但是SelectedRows->Count=0,为什么?还有SelectedIndex设置上也不起作用,为什么呢?
如题。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
24 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
书生
2003-04-04
打赏
举报
回复
晕哦,还是没解决,只得结了,拖太久了。
swordkiller1104
2003-03-12
打赏
举报
回复
我在程序里确实实现了在db+query+dbgrid的情况下,焦点随鼠标移动而移动的,在table的情况下没试过
书生
2003-03-11
打赏
举报
回复
各位的方法都是将焦点移动到第一行,其实这时候DBGrid的SelRows还是0的,需要鼠标再点一下,这行才是真正的被选择了。
swordkiller1104
2003-03-10
打赏
举报
回复
部分源代码如下:(实现dbgrid焦点随鼠标移动变化)
全局变量:oldPos;
在onmousemove里面加如下代码:
coord = DBGrid1->MouseCoord(X,Y);
if(coord.Y>0 && coord.Y!=oldPos)
{
this->Query1->MoveBy(coord.Y-oldPos);
this->DBGrid1->SetFocuse();
oldPos = coord.Y;
}
swordkiller1104
2003-03-07
打赏
举报
回复
有,不过现在不在这里,我周一给你如何?
dacaifu
2003-03-06
打赏
举报
回复
SelectedRows->Count只有在Options->dgMultiSelect = true 时才有效
如指定选择行,可试以下
int row=... //指定选择行
int num = Table1->RecNo;
Table1->MoveBy(row-num);
书生
2003-03-05
打赏
举报
回复
楼上的,有有效代码么?
swordkiller1104
2003-03-01
打赏
举报
回复
可以用MoveBy方法试一试,以前我在TQuery里面是这样实现的
书生
2003-03-01
打赏
举报
回复
继续
书生
2003-02-21
打赏
举报
回复
谢了,楼上的。一看注释,果然是列,我自己想当然了,呵呵。
那有指定选择行的方法么?
书生
2003-02-20
打赏
举报
回复
呵呵,SetFocus()我试过,不起作用。
如题。大家谁有兴趣可以试一下。
whitelion
2003-02-20
打赏
举报
回复
你的table先last,再first一次,看看好不好用
以前遇到过类似的问题
Nepalon
2003-02-20
打赏
举报
回复
fyje(无言相对) 说得对
fyje
2003-02-20
打赏
举报
回复
DBGrid关联的数据集Open()以后,默认选中了第一条,但是SelectedRows->Count=0,为什么?
因为焦点不在dbgrid上,可以设置dbgrid1->setfocus();然后执行SelectedRows->Count
还有SelectedIndex设置上也不起作用,为什么呢?
仍然是焦点的问题
Behard
2003-02-20
打赏
举报
回复
SelectedIndex 是指定选定的 列 不是行
Behard
2003-02-20
打赏
举报
回复
SelectedIndex 是指定选定的 列
Behard
2003-02-20
打赏
举报
回复
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if ( ! Table1->Active ) Table1->Open();
DBGrid1->SelectedIndex = 1;//SelectedIndex
DBGrid1->SetFocus();
}
void __fastcall TForm1::Button2Click(TObject *Sender)
{
if ( ! Table1->Active ) Table1->Open(); //SelectedRows->Count
ShowMessage ( IntToStr(DBGrid1->SelectedRows->Count) );
}
void __fastcall TForm1::FormShow(TObject *Sender)
{
DBGrid1->dgMultiSelect = true;
}
书生
2003-02-20
打赏
举报
回复
晕,上面的我执行还是不行,
ShowMessage ( IntToStr(DBGrid1->SelectedRows->Count) );
为0; :(
指定的SelectedIndex=1照样无效,一看还是0。
Behard
2003-02-20
打赏
举报
回复
SelectedIndex:
可以呀
void __fastcall TForm1::Button1Click(TObject *Sender)
{
if ( ! Table1->Active ) Table1->Open();
DBGrid1->SelectedIndex = 1;
DBGrid1->SetFocus();
//ShowMessage ( IntToStr(DBGrid1->SelectedRows->Count) );
}
l_clove
2003-02-20
打赏
举报
回复
不清楚,用的话就加一条first()语句吧
加载更多回复(4)
db
grid
的一些用法
Delphi 语言的数据库编程中,
DB
Grid
是显示数据的主要手段之一。但是
DB
Grid
缺省的外观未免显得单调和缺乏创意。其实,我们完全可以在我们的程序中通过编程来达到美化
DB
Grid
外观的目的。通过编程,我们可以改变 ...
Db
grid
使用技巧(上)
Db
grid
使用技巧(上)- - 在 Delphi 语言的数据库编程中,
DB
Grid
是显示数据的主要手段之一。但是
DB
Grid
缺省的外观未免显得单调和缺乏创意。其实,我们完全可以在我们的程序中通过编程来达到美化
DB
Grid
外观...
DB
Grid
各属性的
设置
在 Delphi 语言的数据库编程中,
DB
Grid
是显示数据的主要手段之一。但是
DB
Grid
缺省的外观未免显得单调和缺乏创意。其实,我们完全可以在我们的程序中通过编程来达到美化
DB
Grid
外观的目的。通过编程,我们可以改变...
Delphi
DB
Grid
总结
在 Delphi 语言的数据库编程中,
DB
Grid
是显示数据的主要手段 之一。但是
DB
Grid
缺省的外观未免显得单调和缺乏创意。其实,我们完全可以在我们的程序中通过编程来达到美化
DB
Grid
外观的目的。通过编 程,我们可以...
Db
grid
使用技巧(上)-
Db
grid
使用技巧(上)- - 在 Delphi 语言的数据库编程中,
DB
Grid
是显示数据的主要手段之一。但是
DB
Grid
缺省的外观未免显得单调和缺乏创意。其实,我们完全可以在我们的程序中通过编程来达到美化
DB
Grid
外观的...
C++ Builder
13,826
社区成员
102,678
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章