最初由 gaihl 发布
[B]在Edit时只是置数据集编辑状态,不会写值到字段中。你还是检查一下是不是触发了什么!
你检查一下,是不是在修改记录时,触发了你写的事件代码,或触发了字段填充。 [/B]
可是我没有什么地方调用了它啊。
网格的双击事件,之后调用数据集代理的afteropen,在afteropen里调用业务信息的setTempData方法。实在没想出有什么地方有问题啊
procedure TCCFX.DataGridDblClick(Sender: TObject);
var
lFilter:string;
lXianID:string;
begin
lbxqu.Caption := edQu.Text;
lbxxian.Caption := dsbCheciAll.DataSet.FieldByName('XLMC').AsString;
lXianID := dsbCheciAll.DataSet.FieldByName('XLID').AsString;
if((lXianID.Equals(''))=False) then
begin
lFilter:='SELECT QYLJB.MC, CUSTOMER.CUSTOMERNAME, XLDYB.DQH, XLDYB.BH, QYLJB.XH, QYLJB.ZD, QYLJB.SX, LSHDYB.QYLJNXH, ORDER1.ORDERSUM, QYLJB.QYLJID'+
' FROM CUSTOMER, LSHDYB, ORDER1, QYLJB, XLDYB'+
' WHERE XLDYB.XLID = QYLJB.XLID and QYLJB.QYLJID = LSHDYB.QYLJID and LSHDYB.KHID = order1.customerID '+
' and order1.customerID = customer.custom_ID'+
' and XLDYB.XLID='''+lXianID+''''+
' and datediff(d,order1.orderTime,'''+sdate+''')=0 '+
' ORDER BY QYLJB.XH DESC, LSHDYB.QYLJNXH';
dsbCheciSingle.DataSet.Close;
TSQLDataSet(dsbCheciSingle.DataSet).SQL.Text := lFilter;
dsbCheciSingle.DataSet.Open;
gpcCheci.ActivePage := TabSheet2;
dvCheciSingle.Visible := True;
end;
end; |