cxGrid使用

TcxGridDBColumn

    Properties属性可以设置为combobox,label,checkbox等

Fcombox := TcxComboBoxProperties(cxView1Column2.Properties);

with Fcombox do

begin

Items.Clear;

Items.Add('');

for I := 0 to FDMemTable1.FieldDefs.Count - 1 do

begin

Items.Add(FDMemTable1.FieldDefs.Items[I].Name);//将Fdmemtable1中的列名存到Column的下拉当中

end;

end;

 

https://stackoverflow.com/questions/3961871/cxgrid-how-to-cast-a-cell-to-a-combobox-object

CxGridView OnEditChange事件

procedure TFimportHoliday.cxView1EditChanged(Sender: TcxCustomGridTableView;

AItem: TcxCustomGridTableItem);

begin

inherited;

with FexcelDic.Data do

begin

// 保存数据

Next;

if Eof then

begin

Prior;

Next;

end

else

begin

Prior;

end;

// 根据列值,更新相关数据

if AItem.Index = 1 then

begin

Edit;

FieldByName('issel').value := not FieldByName('excelf').AsString.IsEmpty;

Post;

end;

if AItem.Index = 0 then

begin

if not FieldByName('issel').AsBoolean then

begin

Edit;

FieldByName('excelf').value := '';

Post;

end

else

begin

cxView1Column2.Editing := True;//使cxView1Column2进入编辑状态,见上图

end;

end;

end;

end;

 

TFDmemtable添加新字段

FDMemTable2.Close;

FDMemTable2.FieldDefs := FDMemTable1.FieldDefs;

with FDMemTable2.FieldDefs do

begin

Add('issel', ftBoolean);

Add('memo', ftString, 50);

end;

FDMemTable2.CreateDataSet;

FDMemTable2.Open;

FDMemTable2.CopyDataSet(FDMemTable1);

 

posted @ 2017-08-22 17:39  后凤凰  阅读(242)  评论(0)    收藏  举报