c# - tamaño - Eliminar columna de DataGridView
quitar columnas datagridview (4)
Tengo una base de datos que tiene una tabla de Usuarios y presento los datos en un DataGridView. Me gustaría eliminar 4 columnas, pero el código que tengo (referenciado en MSDN) parece adjuntar las columnas al final. ¿Cómo puedo eliminar completamente las columnas?
Así que así es como se ve la DGV sin quitar las columnas
El código que uso para TRY y eliminar las columnas
RadarServerEntities rse = new RadarServerEntities();
gvUsers.DataSource = rse.Users;
gvUsers.Columns.Remove("ID");
gvUsers.Columns.Remove("InsertDate");
gvUsers.Columns.Remove("Connections");
gvUsers.Columns.Remove("MachineID");
El resultado
Me gustaría deshacerme de las últimas 4 columnas, ¿por qué no lo está haciendo mi código?
Muchas gracias :)
Tiendo a esconder los campos en su lugar.
gvUsers.Columns["ID"].Visibility = false;
Etcétera.
si no desea crear las columnas automáticamente cuando vincula su DataSource
, debe establecer gvUsers.AutoGenerateColumns = false;
RadarServerEntities rse = new RadarServerEntities();
gvUsers.AutoGenerateColumns = false;
gvUsers.DataSource = rse.Users;
también podría usar gvUsers.Columns.RemoveAt(IndexOfColumn);
DataGridViewColumn DataGridViewColumnSelected;
private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex !=-1 && e.RowIndex == -1)
{
DataGridViewColumnSelected = dataGridView1.Columns[e.ColumnIndex] as DataGridViewColumn;
}
}
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
bool bHandled = false;
switch (keyData)
{
case Keys.Delete:
if (DataGridViewColumnSelected != null)
{
this.dataGridView1.Columns.RemoveAt(DataGridViewColumnSelected.Index);
//dataGridView1.Columns[DataGridViewColumnSelected.Name].Visible = false; // case of just hiding the column
}
break;
}
return bHandled;
}