根据数字键盘查询stringgrid中相对应的内容?

de410 2009-01-10 08:51:33
stringgrid中的两列
TB001 TB002
1001 名称1
1002 名称2
1003 名称3
1004 名称4
1005 名称5
1006 名称6
1007 名称7
2001 名称8
2002 名称9
2003 名称10
2004 名称11
2005 名称12
3001 名称13
3002 名称14
3003 名称15
3004 名称16
4001 名称17
4002 名称18
7001 名称19
7002 名称20
7003 名称21


比如我按7,会自动定位到 7001 名称19,这一行,按4 ,定位到4001 名称17 这一行?
...全文
130 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
jjwander 2009-01-13
  • 打赏
  • 举报
回复
stringgrid貌似不支持selectrows这个事件
建议换成TMS组件的advstringgrid,支持我刚才说的这个
然后Advstringgrid1.SelectRows(i,1);

stringgrid.row:=i时 就看到个虚线框 不明显
de410 2009-01-13
  • 打赏
  • 举报
回复
再顶~~
de410 2009-01-12
  • 打赏
  • 举报
回复
我测试是可以了,但没有达到我所说的要求,即定位在由此键值的第一行(最小值)上
比如我按7,会自动定位到 7001 名称19,这一行,按4 ,定位到4001 名称17 这一行
jjwander 2009-01-12
  • 打赏
  • 举报
回复
Copy(StringGrid1.Cells[1, i], 1, 1) 注意CELLS的COL参数 如果你第1列就是TB001 那你改成CELLS[0,i]就该可以了

我测试时 是在StringGrid1.SetFocus的情况下
de410 2009-01-12
  • 打赏
  • 举报
回复
兄弟此代码不行~~
xiaocongzhi 2009-01-12
  • 打赏
  • 举报
回复
de410 2009-01-12
  • 打赏
  • 举报
回复
顶一下~~
jjwander 2009-01-11
  • 打赏
  • 举报
回复
在StringGrid1的KeyPress事件弄个
for i := 1 to StringGrid1.RowCount do
begin
if Copy(StringGrid1.Cells[1, i], 1, 1) = Key then
StringGrid1.Row := I;
end;
jjwander 2009-01-11
  • 打赏
  • 举报
回复
在StringGrid1的KeyPress事件弄个
for i := 1 to StringGrid1.RowCount do
begin
if Copy(StringGrid1.Cells[1, i], 1, 1) = Key then
StringGrid1.Row := I;
end;

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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