DBGrid的一个使用问题,急!!!!

aflash 2001-05-23 06:39:00
怎样把一个值赋给DBGRID的一个单元格,而不是通过手工输入。
比如:
  当单击一个单元格时,弹出一个对话框让用户选择一个值,但是,这个值应该怎样在DBGRID中马上显示出来呢。
  请高手帮忙!!!
...全文
70 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
newcsdn 2001-05-24
  • 打赏
  • 举报
回复
其实你完全可以不用再建一个新的窗体,或者弹出一个什么对话框什么的!!!
反正你的目的就是让用户选一个值,就象下拉框那样的!!!
dbgrid 有这样的功能:
在dbgrid 的columns属性中有picklist(Tstringlist类型)提供
你试一下就知道了!!!!



ghz2000 2001-05-23
  • 打赏
  • 举报
回复
其实你可以不用再建一个新的窗体的,

你用一下InputQuery试试
ghz2000 2001-05-23
  • 打赏
  • 举报
回复
其实你可以不用再建一个新的窗体的,

你用一下InputQuery试试
ghz2000 2001-05-23
  • 打赏
  • 举报
回复
你在from2的edit1.onexit中
from1中你把s放在from1
的public定义

procedure TForm2.Edit1Exit(Sender: TObject);
begin
from1.s:=edit1.text;
close;
end;
hzb 2001-05-23
  • 打赏
  • 举报
回复
showmodal出来的form当然要关闭以后才能往下执行,你想达到什么目的?
aflash 2001-05-23
  • 打赏
  • 举报
回复
var
s:string;
begin
form2.showmodal;//我要SHOW的不是一个对话框,而是另一个FORM!!!
s:=form2.edit1.text;
end;
但是,当执行了第一行就不再往下执行了,除非再单击一下,但这不是我所需要的。
请高手指点。这可怎么办呢!!!
hzb 2001-05-23
  • 打赏
  • 举报
回复
以下是DBGrid的OnCellClick事件的代码
procedure TForm1.DBGrid1CellClick(Column: TColumn);
var
s:string;
begin
with dbgrid1 do begin

在此处显示对话框让用户选择一个值,将这个值赋给s

DataSource.DataSet.Edit;//如果dbgrid连接的Query或者table已经处于编辑状态,则不需要这句话.
DataSource.DataSet.FieldByName(Column.FieldName).AsString:=s;
end;
end;

5,392

社区成员

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

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