private void IndexDataGridView_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex < 0)
            {
                return;
            }
            if (e.ColumnIndex == ReorganizeColumn.Index)
            {
                var ivm = IndexDataGridView.Rows[e.RowIndex].DataBoundItem as IndexViewModel;
                if (ivm.CanReorganize())
                {
                    ivm.Reorganize = !ivm.Reorganize;
                    IndexDataGridView.InvalidateRow(e.RowIndex);
                    UpdateReorganizeCount();
                }
            }
            else if (e.ColumnIndex == RebuildColumn.Index)
            {
                var ivm = IndexDataGridView.Rows[e.RowIndex].DataBoundItem as IndexViewModel;
                if (ivm.CanRebuild())
                {
                    ivm.Rebuild = !ivm.Rebuild;
                    IndexDataGridView.InvalidateRow(e.RowIndex);
                    UpdateRebuildCount();
                }
            }

            EnableDisable();
        }
        private void QueryFragmentationBackgroupWorker_ProgressChanged(object sender, ProgressChangedEventArgs e)
        {
            var             i     = (int)e.UserState;
            var             index = viewModels[i];
            DataGridViewRow row   = FindDataGridViewRowForIndex(index);

            if (row != null)
            {
                IndexDataGridView.InvalidateRow(row.Index);
            }
        }