按下面方法修改,也报上面的错误
procedure TMAINFORM.DataNavigatorBeforeAction(Sender: TObject; var Accept: Boolean);
var
datasourcename:string;
begin
//得到当前代理的数据集id
datasourcename:=TBizDataSetAction(DataNavigator.Buttons[0].Action).CurrentDataSource.DataSet.Name;
if SysUtils.LowerCase(datasourcename)='datasetsbsjj' then
begin
if (TBizDataSetAction(Sender).ID = BizActnConsts.ActionDataSetSave )then
begin
DataSetBroker1.DataSet.UpdateOptions.UpdateMode:=TUpdateMode.upWhereKeyOnly;
end;
end;
//为数据集赋SQL,并显示某一具体记录
with TSQLDataSet(DataSetBroker1.DataSet) do
begin
DataGrid1.DataSource:=nil;
Close;
sql.Clear;
DataSetBroker1.DataSet.UpdateOptions.UpdateMode:=TUpdateMode.upWhereKeyOnly;
SQL.Text:=ssql;
DataSetBroker1.DataSet.Filtered:=true;
DataGrid1.DataSource:=DataSetBroker1;
open;
end;