我目前在colexit事件里写,有些不妥! procedure TGridForm.DBGridEh1ColExit(Sender: TObject); begin //再次离开首列???? if TstringGrid(DBgridEH1).Col = 1 then adoquery1.FieldByName('productno').AsString := dm.ProductQuery.fieldbyname('productno').AsString; end;如果把前几行输入完后再回到第一行,在下拉框选一个记录当离开时就会出错!
procedure TGridForm.DBGridEh1ColExit(Sender: TObject);
begin
//再次离开首列????
if TstringGrid(DBgridEH1).Col = 1 then
adoquery1.FieldByName('productno').AsString := dm.ProductQuery.fieldbyname('productno').AsString;
end;如果把前几行输入完后再回到第一行,在下拉框选一个记录当离开时就会出错!
adoquery1.edit;
adoquery1.FieldByName('productno').AsString := dm.ProductQuery.fieldbyname('productno').AsString;
adoquery1.post;如果你真接在adoquery1数据集字段里的 Change事件里字可能会好些
DBGridEh1ColExit 事件做你想要的事不是很好 也可以在
如果这样的话,能这样用吗?
该字段用fklookup
再看看demo1肯定是可以实现得..........
源代码写得很清楚..
很难做的就是这个表不是固定得..而是动态得..
就不是那么容易..................
我正在思考中.........
望高手帮助~~~