在一个PageControl的TabSheet1里有一个DBGrid,ADOQuery,DataSource,在TabSheet2上有一些Edit,ComboBox等,界面的最上面有一些按钮,其中有“修改”。现在要实现,在DBGrid里选中一条记录,然后点“修改”按钮,就转身到TabSheet2里面,并且各个Edit里就是选中这条记录的各字段的值,此时可以修改,保存.谢谢
调试欢乐多
PageControl1.ActivePage:=tabsheet2;
edit1.text:=dbgrid1.Fields[0].Value.Asstring;///把第一个子段的值给edit1;
ComboBox.text:=dbgrid1.Fields[1].Value.Asstring;把第二个子段的值给ComboBox;然后就可以在edit1,ComboBox中出现dbgrid中所选的行的值了。
begin
//
PageControl1.ActivePageIndex := 1;
CarName.Text := DBGridEh1.Fields[1].Value.AsString;
//CarName.Text := DBGridEh1.FieldColumns['CarName'].Field.Value.AsString;
end;to : lovend(颓废之吻)
出错了
Project Project1.exe raised exception class EVariantInvalidOpError with message 'Invalid variant operation'. Process stopped. Use Step or Run to continue.
设置datasource就可以用了,最近写代码麻烦,简单的问题简单解决
sql="select * from cars wherer id ="& id
rs.open sql,conn,3,3在delphi里怎样传递一个参数,并且打开这条记录,把这条记录的内容显示在edit,combobox里面.
begin
//
DBGridEh1CellModify(DBGridEh1.FieldColumns['CarName']);
end;procedure TfrmCars.DBGridEh1CellModify(Column: TColumnEh);
var
tempStr:string;
begin
//指向到TabSheet2
PageControl1.ActivePageIndex := 1;
//取得tempStr值
tempStr:=dbgrideh1.DataSource.DataSet.fieldbyname('CarName').AsString;
// showMessage(tempStr); 有值.
qyTemp.Close;
qyTemp.SQL.Clear ;
qyTemp.SQL.Add('select * from Cars where CarName="'+tempStr+'"');
qyTemp.Open; //判断有记录? CarName.Text := qyTemp.FieldValues['CarName'];end;但是,现在为什么CarName的Edit不能编辑,包括在TabSheet2里的其它按钮也不能动,这是怎么回事?