高手救命啊:DBGridEh 使用 picklist 和 keylist 时,applyupdates 出错。为什么?
三层结构,client 端用 clientdataset1 -->Datasource1--> DBGrideh1 显示数据表,然后动态创建一个 clientdataset:tempCDS,从另一个 table query 数据并动态给第四列加入 picklist和 keylist,实现了该列的下拉只选列表,但是点选下拉值后,并 clientdataset1.applyupdate(0)时,总是出现 “ora-00904: invalid column name” 的错误。为什么啊?高手帮忙啊?
下面是动态添加 picklist 和 keylist 的代码:
tempCDS := TClientDataSet.Create(self);
tempCDS.commandText := 'select * from status';
tempCDS.Open ;
DBGridEh1.Columns[3].AlwaysShowEditButton := True;
DBGridEh1.Columns[3].KeyList.Clear;
DBGridEh1.Columns[3].PickList.Clear;
tempCDS.First ;
while not tempCDS.Eof do
begin
DBGridEh1.Columns[3].KeyList.Add(tempCDS.Fields[0].AsString);
DBGridEh1.Columns[3].PickList.Add(tempCDS.Fields[1].AsString);
tempCDS.Next ;
end;
tempCDS.Close ;
tempCDS.Free ;