RE:Ocultar fila de un datagrid
Ocultar columna en el grid
Ejemplo
1. Abra Visual Studio .NET.
2. Cree un proyecto de aplicación para Windows nuevo en Visual Basic .NET. Form1 se agrega al proyecto de manera predeterminada
3. Agregue un control <B>DataGrid</B> a Form1
4. Agregue la línea siguiente de código en la sección Declaraciones generales de Form1:
Imports System.Data.SqlClient
5. Pegue el código siguiente de Form1 en el procedimiento de evento Load.
NOTA: Se asegura de que modifica la cadena de conexión para su instancia de SQL Server.
Dim cn As New SqlConnection("Data Source=MyServer;User Id=MyUser;Password=MyPassword;Initial Catalog=Northwind") cn.Open()
Dim da As New SqlDataAdapter("SELECT * FROM Products", cn) Dim ds As New DataSet() da.FillSchema(ds, SchemaType.Source, "Products")
da.Fill(ds, "Products") DataGrid1.SetDataBinding(ds, "Products") ' Code to hide column. Dim ts As New DataGridTableStyle() ts.MappingName = "Products" DataGrid1.TableStyles.Add(ts) DataGrid1.SetDataBinding(ds, "Products") DataGrid1.TableStyles("Products").GridColumnStyles.Remove(DataGrid1.TableStyles("Products").GridColumnStyles("QuantityPerUnit"))
6. Ejecute el proyecto. Observe que la columna QuantityPerUnit no aparece en el DataGrid en tiempo de ejecución aunque la instrucción SELECT incluye todas las columnas de la tabla.
NOTA: También puede utilizar la propiedad ColumnMapping de la colección Columns del DataTable. Cuando establece esta propiedad en Oculto, no se muestra la columna. El código que se pegará en el evento de formulario Load para utilizar esta técnica es similar a lo siguiente:
Dim cn As New SqlConnection("Data Source=MyServer;User Id=MyUser;Password=MyPassword;Initial Catalog=Northwind") cn.Open() Dim da As New SqlDataAdapter("Select * From Products", cn) Dim ds As New DataSet() da.FillSchema(ds, SchemaType.Source, "Products") da.Fill(ds, "Products") ' Next line hides column. ds.Tables("Products").Columns("QuantityPerUnit").ColumnMapping = MappingType.Hidden DataGrid1.SetDataBinding(ds, "Products")