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);
酒肉穿肠过
佛祖心中留
世人若学我
如同入魔道

浙公网安备 33010602011771号