Dlaczego DataGridColumn nie jest usuwany z DataGridView

Mam zwyczajDataGridView kontrola i kontrolaRefreshGrid() metoda, która wypełniaDataGridView za pomocą DataSource. Teraz zamierzam usunąć z tego kilka kolumnDataGridView po powiązaniu DataSource, ale nie można ich usunąć, te kolumny nie są usuwane, ale dodają na końcu DataGridView, gdy zadzwonięRefreshGrid() metoda ponownie, wtedy kolumny te zostaną usunięteDataGridView. Oto kod metodyRefreshGrid()

    public void RefreshGrid()
    {
        DataTable _table = AccessConnectionManagers.GetDataTableBySQLQuery("select Colm1,Colm2,Colm3 from TableName");
        //Data Source Binding with DataGridView
        this.DataSource = _table;

        if (!string.IsNullOrEmpty("Colm1"))
        {
            var _colmArray = GridRemoveColumnName.Split(new char[] { ',', ';' }, StringSplitOptions.RemoveEmptyEntries).Where(a => this.Columns.Contains(a)).Select(a => a).ToArray();

            foreach (string colm in _colmArray)
            {
                //Remove column after Source Binding
                this.Columns.Remove(colm);
            }
        }
    }

Zadzwonić poRefreshGrid()

    public Form1()
    {
        InitializeComponent();
        myDataGridView1.RefreshGrid();
    }

Znajdź błąd i zaproponuj mi rozwiązanie.

questionAnswers(3)

yourAnswerToTheQuestion