注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

鑫淼梦园的博客

圆你的梦想 从这里开始

 
 
 

日志

 
 

delphi 动态设置和访问cxgrid列的Properties  

2014-09-01 18:47:06|  分类: Delphi xe6 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

设置:


  cxGrid1DBTableView1Column.PropertiesClass   =   TcxTextEditProperties;   
  cxGrid1DBTableView1Column.PropertiesClass   =   TcxDateEditProperties;   
  cxGrid1DBTableView1Column.PropertiesClass   =   TcxCalcEditProperties;   
  cxGrid1DBTableView1Column.PropertiesClass   =   TcxCheckboxProperties;   
  等   
    
  访问:   
  cxGrid1DBTableView1Column.Properties     as   TcxTextEditProperties   
  cxGrid1DBTableView1Column.Properties     as   TcxDateEditProperties;   
  cxGrid1DBTableView1Column.Properties     as   TcxCalcEditProperties;


//选择列
ACol := cxVehicleStaffers.CreateColumn(ABand);
ACol.Caption.Text := '选择';
ACol.Caption.AlignHorz := taCenter;
ACol.Caption.AlignVert := vaCenter;
ACol.PropertiesClass := TcxCheckBoxProperties;
ACol.Width := 60;
with TcxCheckBoxProperties(ACol.Properties) do
begin
  Alignment := taCenter;
  ImmediatePost := True;
  NullStyle := nssUnchecked;
  OnChange := HandleVehicleStafferSelectChange;
end;
/////////////////////////////////////////////////////////////////////

cxGrid如果是静态添加列,可以把列的Properties设置为ComboBox, 而现在是动态添加,代码如下: var tvC:TcxGridDBColumn; tvLIST:TcxGridDBTableView; for i:=0 to High(ColName) do begin tvC:=tvLIST.CreateColumn; tvC.Name:=ColName[i]; tvC.Caption:=dm.qry.FieldByName('ColCaption').AsString; end; cxGrid for delphi中 1 使用TcxEditRepository控件, 增加一个combobox(如名称为cxcbb), 做好设置 2 绑定列 tvC.Properties := cxcbb.Properties; 工具栏中拖一个TcxEditRepository控件, 双击, 在弹窗中添加combobox(如名称为cxcbb, 设置方法和普通combobox一样) 2 绑定列 tvC.Properties := cxcbb.Properties; 我的实例名是cxERCBB1,静态添加了items进行测试,代码: begin tvC := tvLIST.CreateColumn; tvC.Name := ColName[i]; tvC.Caption := dm.qry.FieldByName('ColCaption').AsString; tvC.DataBinding.FieldName := ColName[i]; end; 留邮箱, 我给你个示例 能否顺便问一个问题: cxGrid绑定ClientDataSet,现在我需要在每次编辑完一个单元格,就对该行内容进行自动更新。 例如我在“负责人”字段输入“张三”,当离开该字段时(无论是否离开该行),就自动检索, 并在该行的“邮箱”字段填入张三的邮箱。 我用cxGridDBTreeView的onEditChanged,发现不行,在cxGrid的Edit内容提交给 ClientDataSet之前就运行了,而代码是从ClientDataSet的字段中取值的, 所以取不到值,而且当运行过代码后,cxGridDBTreeView的修改内容也无法提交给ClientDataSet
3.简单
 实例:
cxComboBox1: Tcxcombobox;
shouzhencom: Tcombobox;//里面有自己定义的数据

  cxGridDBTableView3DBColumn15.Properties := cxComboBox1.Properties;//TcxComboBoxProperties;
  cxComboBox1.Properties.Items := shouzhencom.Items;
  评论这张
 
阅读(605)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017