cxgrid里怎样获取当前字段名啊?找了很长时间了(100)

  • 主题发起人 主题发起人 ypluo
  • 开始时间 开始时间
Y

ypluo

Unregistered / Unconfirmed
GUEST, unregistred user!
我在cxgrid的列里定义了一个buttonEdit的列,想在该列的cxGrid1DBTableView1Column1PropertiesButtonClick事件中想取列的字段名称,老是不行啊?不知道应该怎么写,急啊。另外:我的CXGRID和BUTTONCLICK事件都是在运行期创建的,所以不知道列的名称,只能当前情况去找,可都找不到,二楼的方法是不适用的。
 
cxGrid1DBTableView1DBColumn1.DataBinding.FieldName
 
我问题没说清楚,我的CXGRID是在运行期创建的,所以不知道列的名称,
 
兄弟们,帮忙啊
 
难道都没人用吗?不会吧。
 
因为TcxButtonEditProperties类可用的属性不多,没有多余的属性来保留字段名,考虑到其DisplayFormat属性用得少,可以用他来保留字段名unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, ADODB, StdCtrls, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGrid, cxButtonEdit;type TForm1 = class(TForm) Button1: TButton; ADOConnection1: TADOConnection; ADOQuery1: TADOQuery; DataSource1: TDataSource; procedure Button1Click(Sender: TObject); private FcxGrid:TcxGrid; FcxGridLevel:TcxGridLevel; FcxGridDBTableView:TcxGridDBTableView; FcxDBColumn:TcxGridDBColumn; procedure cxGrid1DBTableView1DBColumn1PropertiesButtonClick( Sender: TObject; AButtonIndex: Integer); public { Public declarations } end;var Form1: TForm1;implementationuses Unit2;{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);begin form2:=TForm2.Create(self); try FcxGrid:=TcxGrid.Create(self); FcxGrid.Parent:=form2; FcxGrid.Align:=alClient; FcxGridLevel:=FcxGrid.Levels.Add; FcxGridDBTableView:=TcxGridDBTableView.Create(self); FcxGridDBTableView.DataController.DataSource:=DataSource1; FcxGridLevel.GridView:=FcxGridDBTableView; FcxDBColumn:=FcxGridDBtableView.CreateColumn; FcxDBColumn.DataBinding.FieldName:='userid'; FcxDBColumn.PropertiesClass:=TcxButtonEditProperties; TcxButtonEditProperties(FcxDBColumn.Properties).OnButtonClick:= cxGrid1DBTableView1DBColumn1PropertiesButtonClick; TcxButtonEditProperties(FcxDBColumn.Properties).DisplayFormat:= FcxDBColumn.DataBinding.FieldName; form2.ShowModal; FcxDBColumn.Free; FcxGridDBTableView.Free; FcxGridLevel.Free; FcxGrid.Free; finally form2.Free; end;end;procedure TForm1.cxGrid1DBTableView1DBColumn1PropertiesButtonClick( Sender: TObject; AButtonIndex: Integer);begin showmessage(TcxButtonEditProperties(TcxButtonEdit(Sender).ActiveProperties).DisplayFormat);end;end.
 
后退
顶部