在DbGrid中某列为下拉框,如何限制用户只能选择,不能输入?40分。

forgot2000 2001-03-13 09:49:00
在DBGrid中对某列Column的ButtonStyle设置为CbsAuto,并赋予PickList,让用户可以进行选择,但同时用户可以自行输入数据,但程序中不允许用户进行输入,应该怎么办?
...全文
269 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
脉达老黄 2001-03-18
  • 打赏
  • 举报
回复
关注
  • 打赏
  • 举报
回复
人家答得很好啦
Ask100 2001-03-18
  • 打赏
  • 举报
回复
guanzhu
forgot2000 2001-03-14
  • 打赏
  • 举报
回复
关注
zcheny 2001-03-13
  • 打赏
  • 举报
回复
响应DBGrid的OnKeyPress事件,应该这样写:

if TDBGrid(Sender).SelectedIndex = cYourColIndex then
case Word(Key) of
VK_RETURN, VK_UP, VK_DOWN, VK_INSERT, VK_LEFT, VK_RIGHT:
Exit;
else
Key := #0;
end;
wangxd1976 2001-03-13
  • 打赏
  • 举报
回复
在DBGrid的OnKeyPress中写
if dbgrid1.selectedIndex=dbgrid1.colomns[i].index then//i为PickList所在Column序号
if key<>#13 then abort;
forgot2000 2001-03-13
  • 打赏
  • 举报
回复
谢谢zcheny()的回答,但还有个问题,为什么最后赋值为Key:=#0呢?我在KeyPress事件中写入如下代码:Showmessage(inttostr(ord(key)));当按下回车键时Key=#0,为什么不是#13呢?(当然,这时DbGrid的ReturnAsTab属性设为True,如果设为False则程序没反应)。

5,402

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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