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.