如何在DBGRID的某一列添加COMBOX控件?急啊,会的兄弟姐妹帮忙!

llhwan 2004-09-20 08:15:05
我要在一个已经绑定了DataSource的DBGRID中的某一列添加TComBox控件,要求每一条记录在该列所对应的CELL中都有一个TCombox控件,而且控件随着数据的滚动而滚动,不是在某一个位置不动,就像属性框一样,
我知道,如果该列是数据集中的对应的列,直接设置该列pickList为一个TStrings就能实现,我现在是,该列不是数据集中的对应的列,设置该列的pickList为一个TStrings就不行了,我现在的做法是在该列的每一个可见的CELL中创建一个TCOMBOX,可这些控件并不会跟着数据的一下滚动而滚动,
大家说说,我该如何才能实现自己创建的TCOMBOX随着数据的滚动而滚动?
...全文
181 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
cqm2099 2004-09-23
  • 打赏
  • 举报
回复
楼上
sunkevin 2004-09-21
  • 打赏
  • 举报
回复
两种方法,一、在dbgrid上浮动一个dbcombobox,二、用dbrid的picklist属性
drift1981 2004-09-20
  • 打赏
  • 举报
回复
这个不知道是不是你想要的,在form上先加一个combobox
procedure TForm1.DBGrid1DrawDataCell(Sender: TObject; const Rect: TRect;
Field: TField; State: TGridDrawState);
begin
if (gdFocused in State) then

begin
ComboBox1.Left := Rect.Left + DBGrid1.Left;
ComboBox1.Top := Rect.Top + DBGrid1.top;
ComboBox1.Width := Rect.Right - Rect.Left;
ComboBox1.Height := Rect.Bottom - Rect.Top;
ComboBox1.Visible := True;
end;
gwolf 2004-09-20
  • 打赏
  • 举报
回复
我觉得你能放在combobox里的东西,也应该能放在picklist里,因为items和picklist属性都是Tstringlist型。我一般不太会直接用tstringlist,所以都是先把东西放到一个combobox中(临时),再picklist:=items;
longtusoft 2004-09-20
  • 打赏
  • 举报
回复
帮你顶啦
drift1981 2004-09-20
  • 打赏
  • 举报
回复
用dbcombobox,用与grid用同一个datasource
石头小站 2004-09-20
  • 打赏
  • 举报
回复
在DBGrid上浮动一个TCombox控件,加入你想要的东东,并相应关联,即可!

5,388

社区成员

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

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