I would programmatically add the records in the dataset to the datagridview.
For example like this:
- Create class that matches a record (with properties matching the fields)
Class OneRecord<br />
{<br />
public int UID { get; set; }<br />
public string Name { get; set; }<br />
public DateTime Date { get; set; }<br />
public bool Checked { get; set; }<br />
}<br />
- Create BindingList of this class
Private BindingList<OneRecord> MyList = new ...
- Reference DataSource of datagridview to instance of BindingList
this.dgv.DataSource = this.MyList;
- Add records to instance of BindingList as instances of the class, need some logic for this
- Refresh datagridview
this.dgv.Refresh();
This way you don't need to worry about behavior of dataset vs gridview etc.