У меня есть пользовательский контроль DataGridView
, и в этом элементе управления есть RefreshGrid()
метод, который заполняет DataGridView
с помощью DataSource. Теперь я tring, чтобы удалить несколько столбцов из этого DataGridView
после привязки DataSource, но не смог их удалить, причем этот столбец не удаляется, а добавляет в конец DataGridView, когда я вызываю метод RefreshGrid()
, затем эти столбцы удаляются с DataGridView
. Вот код для метода RefreshGrid()
Почему DataGridColumn не удаляется из DataGridView
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);
}
}
}
Позвоните RefreshGrid()
public Form1()
{
InitializeComponent();
myDataGridView1.RefreshGrid();
}
Пожалуйста, найти ошибку и предложить мне решение.
** Теперь я пытаюсь удалить несколько столбцов из этого DataGridView после привязки DataSource ** ??? Пожалуйста, покажите нам код, в котором вы удаляете эти столбцы после привязки DataSource. –
Код работает нормально, вы всегда можете удалить столбцы datagridview после привязки. –
@MicrosoftDN 'this.Columns.Remove (colm);' –