public void doRefresh(ref System.Windows.Forms.DataGridView dgv) { OnStateChanged(new StatusEventArgs(StatusType.none, "dataset refreshing...")); if (bFiltered) { return; } int iRow = 0, iCol = 0; if (dgv.Rows.Count > 0) { iRow = dgv.CurrentCell.RowIndex; iCol = dgv.CurrentCell.ColumnIndex; } dgv.ResetBindings(); //dgv.DataSource=null; using (SQLiteConnection connection = new SQLiteConnection(connectionString)) { connection.Open(); System.Data.DataSet ds = new DataSet(); SQLiteDataAdapter da = new SQLiteDataAdapter("SELECT * FROM licensedata", connection); da.Fill(ds); dgv.DataSource = ds.Tables[0]; } if (dgv.Rows.Count > 0) { dgv.CurrentCell = dgv.Rows[iRow].Cells[iCol]; } OnStateChanged(new StatusEventArgs(StatusType.none, "...dataset refreshed")); }