设置cxGridDBTableView3IsUse.Properties 为 ImageComboBox;
实现:当选择一个下拉框的时候,给同条记录的另一个字段赋值上值。
Q:给同条记录另一字段赋值是成功,但是当前下拉框的内容却改变不了!
我是写在change事件,请问在哪个事件写,如何写比较好?
谢谢。
实现:当选择一个下拉框的时候,给同条记录的另一个字段赋值上值。
Q:给同条记录另一字段赋值是成功,但是当前下拉框的内容却改变不了!
我是写在change事件,请问在哪个事件写,如何写比较好?
谢谢。
解决方案 »
- webbrowser只显示div里面内容
- DELPHI7说没有TServerSocket,不知道此类包含在哪个控件里面~
- Delphi怎么调用 vc的dll
- delphi 调用C++的DLL问题,急!(送500分)
- 请各位高手帮帮忙,如何可以做到像QQ哪样有消息来图标的闪烁的问题?
- 如何取字符中的某些字符
- DES标准加密
- 未过滤的异常的自定义处理程序
- dll 动态连接库的问题,好像是不能释放!
- Delphi ADOQuery Filter Boolean类型字段
- 正在和某位Q友在聊天,有什么工具可以知道他正在和谁在聊天,聊天内容是什么?这种工具除了木马还有吗?只要不被杀毒软件发现就行
- 在拖动SPLITTER时触发了哪些事件?
搞错了,以为是ComboBox组件!写在ButtonClick比较好!
在对应Column的 OnGetDisplayText事件中告诉你的Column要显示什么内容;procedure TForm.ATableViewColumn1GetDisplayText(
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
var AText: String);
begin
AText := ' 你要显示的内容';
end第二中方法,你不需要设置Column的 .Properties 为 ImageComboBox;
直接 在你的CxGrid 的OnCustomCell 事件中来做:procedure TForm.ATableViewCustomDrawCell(
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
var
m_Bitmap: TBitmap;
m_Rect: TRect;
m_FieldValue: string;
m_ImageIndex: Integer;
begin
m_Rect := AViewInfo.Bounds;
m_FieldValue := AViewInfo.GridRecord.DisplayTexts[AViewInfo.Item.Index];
m_ImageIndex := 你要显示的对应ImageList 中的 ImageIndex;
if (m_ImageIndex > -1) and (m_ImageIndex < FDataImageList.Count) then
begin
m_Bitmap := TBitmap.Create;
try
ACanvas.Canvas.Lock;
//填充绘画区域,否则将会出现背景颜色出现在绘画区域的情况;
ACanvas.FillRect(AViewInfo.Bounds);
FDataImageList.GetBitmap(m_ImageIndex, m_Bitmap);
m_Rect.Left := m_Rect.Left + m_Bitmap.Width + 5;
m_Rect.Top := m_Rect.Top + 2;
ACanvas.DrawTexT(m_FieldValue, m_Rect, cxAlignLeft);
ACanvas.DrawGlyph(AViewInfo.Bounds.Left + 2, AViewInfo.Bounds.Top, m_Bitmap);
ADone := True;
Application.ProcessMessages;
finally
ACanvas.Canvas.UnLock;
m_Bitmap.Free;
end;
end;
end;第二种方法的效率要比第一种要高;