请问如何在dbgrid中将1列做成下拉列表的形式,请高手指点!
解决方案 »
- advStringGrid中<和>的问题
- dbchart里的series1和series2可以对应不同的表格吗?在运行时显示两条不同的曲线?
- 做了个组件的练习,但起不到预期的效果,求助,在线等,谢谢!!
- 高手快进!-急!!!!
- 在DbGrid控件的某一例加入TCheckBox,当加到1000个TCheckBox时,就出现内存不够!请问有没有更好的办法啊!
- 用delphi删除Sqlserver2000中的数据库
- 请问如何hook住SetWindowsHook这个API?使得其他程序无法调用
- delphi5的程序为什么到delphi6下有些不能执行?
- Get locate ip
- Delphi中报错project index.EXE raised exception class emcideviceerro with message
- 一个sql语句的问题。
- 关于ADO的,把EXCEL中的数据导入到SQL SERVER2000中.......
col 的buttonStyle 設為cbsauto
在PickList 里加上你的下拉的東東
就可以了
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
//ShowMessage('in');
if (gdFocused in State) then
begin if (DBGrid1.SelectedField.FieldName = DBComboBox1.DataField ) then
begin DBComboBox1.Left := Rect.Left + DBGrid1.Left;
DBComboBox1.Top := Rect.Top + DBGrid1.top;
DBComboBox1.Width := Rect.Right - Rect.Left;
DBComboBox1.Height := Rect.Bottom - Rect.Top;
DBComboBox1.Visible := True;
end;
end;
end;
就能達到目的!
DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
if gdfocused in state then
begin
if column.FieldName='Zh' then//你要让combobox显示的那列的字段名
begin
form1.ComboBox1.Left:=rect.Left+form1.DBGrid1.Left;
form1.ComboBox1.Top:=rect.Top+form1.DBGrid1.Top;
form1.ComboBox1.Width:=rect.Right-rect.Left;
form1.ComboBox1.Height:=rect.Bottom-rect.Top;
form1.ComboBox1.Visible:=true;
end;
end;
end;
需要那么复杂吗?
楼上的我在100例子导航里看到了一模一样的东西。。呵呵
我想让下拉列表连到这张表上,用户在输入的时候可以选择,请问 sousouwjh(sousouwjh)能说清楚点吗,LOOKUP字段杂做
在秀出的窗口選擇為LOOKUP,LOOKDATASET選擇你需要的數據集就是你另一個表d
的QUERY,LOOKUPRESULTFIELD是你希望返回的字段!LOOKUPKEYFIELD是你
當前表與LOOKUP對應的關聯字段!
就這樣!如果是DBGRIDEH這種控件還能做到下拉秀出多個字段呢!不過它就有很詳細的DEMO你看呢!呵呵