Why don't you just bind the controls on the panel to the dataset? You should be able to use the same currency manager so that when the current record is changed in the grid, the panel's controls will automatically refresh. When the user makes changes via the controls, the data will automatically be sent to the DataSet. Finally when you want to save the data to the database, just use a DataAdapter.Update(). The dataset maintains enough information to know what has changed and so will only send changed records to the database.
>From your descriptions, it seems that you are not binding any of your controls to the dataset, but are instead manually moving data around your user interface... Control binding does work and it provides a reasonable amount of automation. -- Peter > Bob Edwards spake > > Yes, except that the user is not updating through the grid. The user is > interacting through a form that represents the data that is in the grid. > > Imagine you have orders/details. The grid shows an order, and you > can click > the plus sign to see the details. In my program, when you click > on an order, > a form opens with all the details together. You can then change anything > through the form, and both the order and the detail will be updated. That > update is not in the dataset (should it be somehow?) and thus the update > must be applied both to the dataset and to the back end database. > You can read messages from the DOTNET archive, unsubscribe from DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com.