data gridview

39
Nombre Descripción AccessibilityObject Obtiene AccessibleObject asignado al control. (Se hereda de Control). AccessibleDefaultActionDescri ption Obtiene o establece la descripción de la acción predeterminada del control que las aplicaciones cliente de accesibilidad utilizan. (Se hereda de Control). AccessibleDescription Obtiene o establece la descripción del control que las aplicaciones cliente de accesibilidad utilizan. (Se hereda de Control). AccessibleName Obtiene o establece el nombre del control que las aplicaciones cliente de accesibilidad utilizan. (Se hereda de Control). AccessibleRole Obtiene o establece la función accesible del control. (Se hereda de Control). AdjustedTopLeftHeaderBorderSt yle Obtiene el estilo de borde para la celda superior izquierda del control DataGridView. AdvancedCellBorderStyle Obtiene el estilo de borde de

Upload: cecilia-huapaya

Post on 14-Dec-2014

1.599 views

Category:

Education


13 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Data gridview

Nombre Descripción

AccessibilityObject Obtiene AccessibleObject asignado al control. (Se hereda de Control).

AccessibleDefaultActionDescription Obtiene o establece la descripción de la acción predeterminada del control que las aplicaciones cliente de accesibilidad utilizan. (Se hereda de Control).

AccessibleDescription Obtiene o establece la descripción del control que las aplicaciones cliente de accesibilidad utilizan. (Se hereda de Control).

AccessibleName Obtiene o establece el nombre del control que las aplicaciones cliente de accesibilidad utilizan. (Se hereda de Control).

AccessibleRole Obtiene o establece la función accesible del control. (Se hereda de Control).

AdjustedTopLeftHeaderBorderStyle Obtiene el estilo de borde para la celda superior izquierda del control DataGridView.

AdvancedCellBorderStyle Obtiene el estilo de borde de las celdas del control DataGridView.

AdvancedColumnHeadersBorderStyle Obtiene el estilo de borde de las celdas de encabezado de columna del control DataGridView.

AdvancedRowHeadersBorderStyle Obtiene el estilo de borde de las celdas de encabezado de fila del control DataGridView.

AllowDrop Obtiene o establece un valor que indica si el control puede aceptar los datos que el usuario

Page 2: Data gridview

arrastra al mismo. (Se hereda de Control).

AllowUserToAddRows Obtiene o establece un valor que indica si se muestra al usuario la opción de agregar filas.

AllowUserToDeleteRows Obtiene o establece un valor que indica si el usuario puede eliminar filas de DataGridView.

AllowUserToOrderColumns Obtiene o establece un valor que indica si está habilitado el cambio manual de la posición de las columnas.

AllowUserToResizeColumns Obtiene o establece un valor que indica si los usuarios pueden cambiar el tamaño de las columnas.

AllowUserToResizeRows Obtiene o establece un valor que indica si los usuarios pueden cambiar el tamaño de las filas.

AlternatingRowsDefaultCellStyle Obtiene o establece el estilo de celda predeterminado que se aplicará a las filas impares de DataGridView.

Anchor Obtiene o establece los bordes del contenedor al que está enlazado un control y determina cómo se cambia el tamaño de un control con su elemento primario. (Se hereda de Control).

AutoGenerateColumns Obtiene o establece un valor que indica si se crean columnas automáticamente cuando se establece la propiedad DataSource o DataMember.

AutoScrollOffset Obtiene o establece a dónde se desplaza este

Page 3: Data gridview

control en ScrollControlIntoView. (Se hereda de Control).

AutoSize Reemplazado.

AutoSizeColumnsMode Obtiene o establece un valor que indica cómo se determina el ancho de las columnas.

AutoSizeRowsMode Obtiene o establece un valor que indica cómo se determina el alto de las filas.

BackColor Reemplazado. Obtiene o establece el color de fondo del control.

BackgroundColor Obtiene o establece el color de fondo del control DataGridView.

BackgroundImage Reemplazado. Obtiene o establece la imagen de fondo que se muestra en el control.

BackgroundImageLayout Reemplazado. Obtiene o establece el diseño de la imagen de fondo tal como se define en la enumeración ImageLayout.

BindingContext Obtiene o establece BindingContext del control. (Se hereda de Control).

BorderStyle Obtiene o establece el estilo de borde del control DataGridView.

Bottom Obtiene la distancia, en píxeles, que existe entre el borde inferior del control y el borde superior del área cliente de su contenedor. (Se hereda de Control).

Page 4: Data gridview

Bounds Obtiene o establece el tamaño y la ubicación del control incluyendo sus elementos no cliente, en píxeles, con respecto al control primario. (Se hereda de Control).

CanFocus Obtiene un valor que indica si el control puede recibir el foco. (Se hereda de Control).

CanSelect Obtiene un valor que indica si el control se puede seleccionar. (Se hereda de Control).

Capture Obtiene o establece un valor que indica si el control ha capturado el mouse (ratón). (Se hereda de Control).

CausesValidation Obtiene o establece un valor que indica si el control hace que se realice una validación de todos los controles que requieren validación cuando reciben el foco. (Se hereda de Control).

CellBorderStyle Obtiene el estilo de borde de celda para el control DataGridView.

CheckForIllegalCrossThreadCalls Obtiene o establece un valor que indica si se detectarán las llamadas en el subproceso equivocado que tiene acceso a la propiedad Handle de un control. (Se hereda de Control).

ClientRectangle Obtiene el rectángulo que representa el área cliente del control. (Se hereda de Control).

ClientSize Obtiene o establece el alto y el ancho del área cliente del control. (Se hereda de Control).

ClipboardCopyMode Obtiene o establece un valor que indica si los

Page 5: Data gridview

usuarios pueden copiar los valores de texto de la celda a Clipboard y si se incluye el texto de los encabezados de fila y columna.

ColumnCount Obtiene o establece el número de columnas que se muestran en el control DataGridView.

ColumnHeadersBorderStyle Obtiene el estilo de borde aplicado a los encabezados de columna.

ColumnHeadersDefaultCellStyle Obtiene o establece el estilo de encabezado de columna predeterminado.

ColumnHeadersHeight Obtiene o establece el alto (en píxeles) de la fila de encabezados de columna

ColumnHeadersHeightSizeMode Obtiene o establece un valor que indica si el alto de los encabezados de columna es ajustable y si puede ser ajustado por el usuario o automáticamente para adaptarse al contenido de los encabezados.

ColumnHeadersVisible Obtiene o establece un valor que indica si se muestra la fila de encabezados de columna.

Columns Obtiene una colección que contiene todas las columnas del control.

CompanyName Obtiene el nombre de la compañía o del creador de la aplicación que contiene el control. (Se hereda de Control).

Container Obtiene IContainer que contiene Component. (Se hereda de Component).

Page 6: Data gridview

ContainsFocus Obtiene un valor que indica si el control, o uno de sus controles secundarios, tiene el foco de entrada en la actualidad. (Se hereda de Control).

ContextMenu Obtiene o establece el menú contextual asociado al control. (Se hereda de Control).

ContextMenuStrip Obtiene o establece el ContextMenuStrip asociado a este control. (Se hereda de Control).

Controls Obtiene la colección de controles que contiene el control. (Se hereda de Control).

Created Obtiene un valor que indica si se ha creado el control. (Se hereda de Control).

CurrentCell Obtiene o establece la celda activa actualmente.

CurrentCellAddress Obtiene los índices de fila y columna de la celda activa actualmente.

CurrentRow Obtiene la fila que contiene la celda actual.

Cursor Obtiene o establece el cursor que se muestra cuando el puntero del mouse se sitúa sobre el control. (Se hereda de Control).

DataBindings Obtiene los enlaces de datos del control. (Se hereda de Control).

DataMember Obtiene o establece el nombre de la lista o tabla del origen de datos cuyos datos se están

Page 7: Data gridview

mostrando en el control DataGridView.

DataSource Obtiene o establece el origen de datos cuyos datos se están mostrando en el control DataGridView.

DefaultBackColor Obtiene el color de fondo predeterminado del control. (Se hereda de Control).

DefaultCellStyle Obtiene o establece el estilo de celda predeterminado que se va a aplicar a las celdas del control DataGridView si no se establece ninguna otra propiedad de estilo de celda.

DefaultFont Obtiene la fuente predeterminada del control. (Se hereda de Control).

DefaultForeColor Obtiene el color de primer plano predeterminado del control. (Se hereda de Control).

DisplayRectangle Reemplazado. Obtiene el rectángulo que representa el área de presentación del control.

Disposing Obtiene un valor que indica si la clase base Control está en el proceso de eliminación. (Se hereda de Control).

Dock Obtiene o establece que los bordes del control se acoplarán a su control principal y determina cómo se cambia el tamaño de un control con su elemento primario. (Se hereda de Control).

Page 8: Data gridview

EditingControl Obtiene el control alojado por la celda actual, si hay una celda con control de edición en modo de edición.

EditingPanel Obtiene el panel que contiene el control EditingControl.

EditMode Obtiene o establece un valor que indica cómo empezar a editar una celda.

Enabled Obtiene o establece un valor que indica si el control puede responder a la interacción del usuario. (Se hereda de Control).

EnableHeadersVisualStyles Obtiene o establece un valor que indica si los encabezados de filas y columnas utilizan los estilos visuales del tema actual del usuario, en caso de que estén habilitados los estilos visuales para la aplicación.

FirstDisplayedCell Obtiene o establece la primera celda que se muestra actualmente en el DataGridView; normalmente es la celda situada en la esquina superior izquierda.

FirstDisplayedScrollingColumnHiddenWidth

Obtiene el ancho de la parte de la columna desplazada actualmente fuera de la vista.

FirstDisplayedScrollingColumnIndex Obtiene o establece el índice de la primera columna mostrada en el control DataGridView.

FirstDisplayedScrollingRowIndex Obtiene o establece el índice de la primera fila mostrada en el control DataGridView.

Focused Obtiene un valor que indica si el control tiene

Page 9: Data gridview

el foco de entrada. (Se hereda de Control).

Font Reemplazado. Obtiene o establece la fuente del texto mostrado por el elemento DataGridView.

ForeColor Reemplazado. Obtiene o establece el color de primer plano del control DataGridView.

GridColor Obtiene o establece el color de las líneas de cuadrícula que separan las celdas de DataGridView.

Handle Obtiene el identificador de ventana al que está enlazado el control. (Se hereda de Control).

HasChildren Obtiene un valor que indica si el control contiene uno o más controles secundarios. (Se hereda de Control).

Height Obtiene o establece el alto del control. (Se hereda de Control).

HorizontalScrollingOffset Obtiene o establece el número de píxeles que se desplaza horizontalmente el control.

ImeMode Obtiene o establece el modo de Editor de métodos de entrada (IME) del control. (Se hereda de Control).

InvokeRequired Obtiene un valor que indica si el llamador debe llamar a un método de invocación cuando realiza llamadas a métodos del control porque el llamador se encuentra en un subproceso distinto al del control donde se

Page 10: Data gridview

creó. (Se hereda de Control).

IsAccessible Obtiene o establece un valor que indica si el control es visible para las aplicaciones de accesibilidad. (Se hereda de Control).

IsCurrentCellDirty Obtiene un valor que indica si la celda actual tiene cambios sin confirmar.

IsCurrentCellInEditMode Obtiene un valor que indica si se está editando la celda activa actual.

IsCurrentRowDirty Obtiene un valor que indica si la fila actual tiene cambios sin confirmar.

IsDisposed Obtiene un valor que indica si el control se ha eliminado. (Se hereda de Control).

IsHandleCreated Obtiene un valor que indica si el control tiene un identificador asociado. (Se hereda de Control).

IsMirrored Obtiene un valor que indica si el control está reflejado. (Se hereda de Control).

Item Sobrecargado. Proporciona un indizador para obtener o establecer la celda situada en la intersección de la fila y la columna especificadas.

LayoutEngine Obtiene una instancia almacenada en caché del motor de diseño del control. (Se hereda de Control).

Left Obtiene o establece la distancia, en píxeles, que existe entre el borde izquierdo del control

Page 11: Data gridview

y el borde izquierdo del área cliente de su contenedor. (Se hereda de Control).

Location Obtiene o establece las coordenadas de la esquina superior izquierda del control en relación con la esquina superior izquierda de su contenedor. (Se hereda de Control).

Margin Obtiene o establece el espacio entre los controles. (Se hereda de Control).

MaximumSize Obtiene o establece el tamaño que es el límite superior que GetPreferredSize puede especificar. (Se hereda de Control).

MinimumSize Obtiene o establece el tamaño que es el límite inferior que GetPreferredSize puede especificar. (Se hereda de Control).

ModifierKeys Obtiene un valor que indica cuál de las teclas modificadoras (MAYÚS, CTRL y ALT) está presionada. (Se hereda de Control).

MouseButtons Obtiene un valor que indica cuál de los botones del mouse está presionado. (Se hereda de Control).

MousePosition Obtiene la posición del cursor del mouse en coordenadas de pantalla. (Se hereda de Control).

MultiSelect Obtiene o establece un valor que indica si el usuario puede seleccionar a la vez varias celdas, filas o columnas del control DataGridView.

Page 12: Data gridview

Name Obtiene o establece el nombre del control. (Se hereda de Control).

NewRowIndex Obtiene el índice de fila de los nuevos registros.

Padding Esta propiedad no es relevante para este control.

Parent Obtiene o establece el contenedor principal del control. (Se hereda de Control).

PreferredSize Obtiene el tamaño de un área rectangular en la que cabe el control. (Se hereda de Control).

ProductName Obtiene el nombre de producto del ensamblado que contiene el control. (Se hereda de Control).

ProductVersion Obtiene la versión del ensamblado que contiene el control. (Se hereda de Control).

ReadOnly Obtiene un valor que indica si el usuario puede editar las celdas del control DataGridView.

RecreatingHandle Obtiene un valor que indica si el control está volviendo a crear su identificador en la actualidad. (Se hereda de Control).

Region Obtiene o establece la región de ventana asociada al control. (Se hereda de Control).

Right Obtiene la distancia, en píxeles, que existe entre el borde derecho del control y el borde izquierdo del área cliente de su contenedor.

Page 13: Data gridview

(Se hereda de Control).

RightToLeft Obtiene o establece un valor que indica si los elementos del control se alinean para admitir configuraciones regionales utilizando fuentes de derecha a izquierda. (Se hereda de Control).

RowCount Obtiene o establece el número de filas que se muestran en el control DataGridView.

RowHeadersBorderStyle Obtiene o establece el estilo del borde de las celdas de encabezado de fila.

RowHeadersDefaultCellStyle Obtiene o establece el estilo predeterminado aplicado a las celdas de encabezado de fila.

RowHeadersVisible Obtiene o establece un valor que indica si se muestra la columna que contiene los encabezados de fila.

RowHeadersWidth Obtiene o establece el ancho, en píxeles, de la columna que contiene los encabezados de fila.

RowHeadersWidthSizeMode Obtiene o establece un valor que indica si el ancho de los encabezados de fila es ajustable y si puede ser ajustado por el usuario o automáticamente para adaptarse al contenido de los encabezados.

Rows Obtiene una colección que contiene todas las filas del control DataGridView.

RowsDefaultCellStyle Obtiene o establece el estilo predeterminado aplicado a las celdas de las filas del control DataGridView.

Page 14: Data gridview

RowTemplate Obtiene o establece la fila que representa la plantilla de todas las filas del control.

ScrollBars Obtiene o establece el tipo de las barras de desplazamiento que se muestran en el control DataGridView.

SelectedCells Obtiene la colección de celdas seleccionadas por el usuario.

SelectedColumns Obtiene la colección de columnas seleccionadas por el usuario.

SelectedRows Obtiene la colección de filas seleccionadas por el usuario.

SelectionMode Obtiene o establece un valor que indica cómo se pueden seleccionar las celdas de DataGridView.

ShowCellErrors Obtiene o establece un valor que indica si se van a mostrar errores de celda.

ShowCellToolTips Obtiene o establece un valor que indica si se mostrará información sobre herramientas cuando el puntero del mouse se detenga sobre una celda.

ShowEditingIcon Obtiene o establece un valor que indica si el glifo de edición es visible en el encabezado de fila de la celda que se está modificando.

ShowRowErrors Obtiene o establece un valor que indica si los encabezados de fila mostrarán los glifos de error para cada fila que contiene un error de entrada de datos.

Page 15: Data gridview

Site Obtiene o establece el sitio del control. (Se hereda de Control).

Size Obtiene o establece el alto y el ancho del control. (Se hereda de Control).

SortedColumn Obtiene la columna por la que está ordenado actualmente el contenido de DataGridView.

SortOrder Obtiene un valor que indica si los elementos del control DataGridView se ordenan en orden ascendente o descendente, o no se ordenan.

StandardTab Obtiene o establece un valor que indica si la tecla TAB mueve el foco al siguiente control en el orden de tabulación en lugar de a la siguiente celda del control.

TabIndex Obtiene o establece el orden de tabulación del control en su contenedor. (Se hereda de Control).

TabStop Obtiene o establece un valor que indica si el usuario puede dar el foco a este control mediante la tecla TAB. (Se hereda de Control).

Tag Obtiene o establece el objeto que contiene datos sobre el control. (Se hereda de Control).

Text Reemplazado. Obtiene o establece el texto asociado al control.

Top Obtiene o establece la distancia, en píxeles, que existe entre el borde superior del control y el borde superior del área cliente de su

Page 16: Data gridview

contenedor. (Se hereda de Control).

TopLeftHeaderCell Obtiene o establece la celda de encabezado situada en la esquina superior izquierda del control DataGridView.

TopLevelControl Obtiene el control principal que no es secundario de ningún otro control de formularios Windows Forms. Normalmente, se trata del Form más externo en el que está contenido el control. (Se hereda de Control).

UserSetCursor Obtiene el valor predeterminado o especificado por el usuario de la propiedad Cursor.

UseWaitCursor Obtiene o establece un valor que indica si se utiliza el cursor de espera para el control actual y todos los controles secundarios. (Se hereda de Control).

VerticalScrollingOffset Obtiene el número de píxeles que se desplaza verticalmente el control.

VirtualMode Obtiene o establece un valor que indica si ha proporcionado sus propias operaciones de administración de datos para el control DataGridView.

Visible Obtiene o establece un valor que indica si se muestran el control y todos sus controles primarios. (Se hereda de Control).

Width Obtiene o establece el ancho del control. (Se hereda de Control).

Page 17: Data gridview

WindowTarget Esta propiedad no es relevante para esta clase. (Se hereda de Control).

Arriba

Propiedades protegidas

Nombre Descripción

CanRaiseEvents Determina si se pueden producir eventos en el control. (Se hereda de Control).

CreateParams Obtiene los parámetros de creación necesarios cuando se crea el identificador del control. (Se hereda de Control).

DefaultCursor Obtiene o establece el cursor predeterminado del control. (Se hereda de Control).

DefaultImeMode Obtiene el modo de Editor de métodos de entrada (IME) predeterminado que admite el control. (Se hereda de Control).

DefaultMargin Obtiene el espacio, en píxeles, que se especifica de manera predeterminada entre los controles. (Se hereda de Control).

DefaultMaximumSize

Obtiene la longitud y el alto, en píxeles, que se especifica como el tamaño máximo predeterminado de un control. (Se hereda de Control).

DefaultMinimumSize Obtiene la longitud y el alto, en píxeles, que se especifica como el tamaño mínimo predeterminado de un control. (Se hereda de Control).

DefaultPadding Obtiene el espaciado interno, en píxeles, del contenido de un control. (Se hereda de Control).

Page 18: Data gridview

DefaultSize Reemplazado. Obtiene el tamaño inicial predeterminado del control.

DesignMode Obtiene un valor que indica si Component está actualmente en modo de diseño. (Se hereda de Component).

DoubleBuffered Obtiene o establece un valor que indica si este control debe volver a dibujar su superficie mediante un búfer secundario para reducir o evitar el parpadeo. (Se hereda de Control).

Events Obtiene la lista de controladores de eventos asociados a Component. (Se hereda de Component).

FontHeight Obtiene o establece el alto de la fuente del control. (Se hereda de Control).

HorizontalScrollBar Obtiene la barra de desplazamiento horizontal del control.

RenderRightToLeft Esta propiedad está obsoleta. (Se hereda de Control).

ResizeRedraw Obtiene o establece un valor que indica si el control vuelve a dibujarse automáticamente cuando cambia de tamaño. (Se hereda de Control).

ScaleChildren Obtiene un valor que determina el escalado de los controles secundarios. (Se hereda de Control).

ShowFocusCues Obtiene un valor que indica si el control debe mostrar rectángulos de foco. (Se hereda de Control).

ShowKeyboardCues Obtiene un valor que indica si la interfaz de usuario está en el estado adecuado para mostrar u ocultar los aceleradores de teclado. (Se hereda de Control).

VerticalScrollBar Obtiene la barra de desplazamiento vertical del control.

Page 19: Data gridview

Buscar un registro o fila en una grilla de tipo DataGridView

Simple código de ejemplo que usa el método Find del componente BindingSource para buscar un registro en un campo específico en una tabla

formulario

Controles

Un control DataGridView llamado DataGridView1

Un control Button llamado Button1 ( botón para buscar )

Un control textBox llamado textBox1 ( para ingresar el dato )

Indicar el campo por el cual buscar ( Primer parámetro del método

Find)

Establecer la cadena de conexión a utilizar

Código fuente

Texto plano Copiar código fuente Imprimir

1. Option Explicit On 2. Option Strict On 3.4. Imports System.Data 5. Imports System.Data.SqlClient 6.7. Public Class Form1 8.9. ' ConnectionString para SQL server EXPRESS 10. Private Const cs As String = "Data Source=(local)\SQLEXPRESS;" & _ 11. "Integrated Security=True;" & _ 12. "Initial Catalog=la_base_de_datos" 13.14. 'Declarar un BindingSource 15. Private BindingSource1 As Windows.Forms.BindingSource = New

BindingSource 16.17. Private Sub Form1_FormClosed( _

Page 20: Data gridview

18. ByVal sender As Object, _ 19. ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles

Me.FormClosed 20. BindingSource1.Dispose() 21. End Sub 22.23. Private Sub Form1_Load( _ 24. ByVal sender As System.Object, _ 25. ByVal e As System.EventArgs) Handles MyBase.Load 26.27.28. Button1.Text = "Buscar fila" 29.30. Try 31. ' Declarar la conexión y abrir 32. Using cn As SqlConnection = New SqlConnection(cs) 33. cn.Open() 34.35. ' Crear un DataAdapter y pasarle el comando para traer los

registros 36. Dim da As New SqlDataAdapter("SELECT * FROM la_tabla", cn) 37. ' DataTable 38. Dim dt As New DataTable 39.40. ' llenar el DataTable 41. da.Fill(dt) 42.43. ' enlazar el DataTable al BindingSource 44. BindingSource1.DataSource = dt 45.46. ' propiedades para el DataGridview 47. ''''''''''''''''''''''''''''''''''''''' 48. With DataGridView1 49. ' opcional: Sin selección múltiple 50. .MultiSelect = False 51. ' seleccioanr fila completa al hacer clic en un registro 52. .SelectionMode = DataGridViewSelectionMode.FullRowSelect 53.54. ' enlazar los controles 55. .DataSource = BindingSource1.DataSource 56. End With 57.58.59. End Using 60. ' errores 61. Catch ex As Exception 62. MsgBox(ex.Message.ToString) 63. End Try 64. End Sub 65.66. ' Función que retorna el índice de la fila 67. '' '''''''''''''''''''''''''''''''''''''''''''''''''''' 68. Function Buscar( _ 69. ByVal Columna As String, _ 70. ByVal texto As String, _ 71. ByVal BindingSource As BindingSource) As Integer 72.73. Try 74. ' si está vacio salir y no retornar nada 75. If BindingSource1.DataSource Is Nothing Then 76. Return -1 77. End If 78.

Page 21: Data gridview

79. ' Ejecutar el método Find pasándole los datos 80. Dim fila As Integer = BindingSource.Find(Columna.Trim, texto) 81.82. ' Mover el cursor a la fila obtenida 83. BindingSource.Position = fila 84.85. ' retornar el valor 86. Return fila 87.88. ' errores 89. Catch ex As Exception 90. MsgBox(ex.Message.ToString, MsgBoxStyle.Critical) 91. End Try 92. ' no retornar nada 93. Return -1 94.95. End Function 96.97. ' Botón para buscar en el DataGridView 98. Private Sub Button1_Click( _ 99. ByVal sender As System.Object, _ 100. ByVal e As System.EventArgs) Handles Button1.Click 101.102. ' Pasar el nombre del campo por el cual buscar , 103. ' el dato, y el BindingSource enlazado al DataGridView 104. ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

''''''''''''' 105. Dim ret As Integer = Buscar( _ 106. "Nombre", _ 107. TextBox1.Text.Trim, _ 108. BindingSource1) 109.110. ' si no se encontró .... 111. If ret = -1 Then 112. ' mostrar un mensaje 113. MsgBox("No se encontró la fila", MsgBoxStyle.Critical) 114. Else 115. With DataGridView1 116. ' volver a enlazar 117. .DataSource = BindingSource1 118. ' Pasarle el índice para Visualizar la fila al comienzo de la

grilla 119. .FirstDisplayedScrollingRowIndex = ret 120. End With 121. End If 122. End Sub 123. End Class

Option Explicit OnOption Strict On

Imports System.DataImports System.Data.SqlClient

Public Class Form1

' ConnectionString para SQL server EXPRESS Private Const cs As String = "Data Source=(local)\SQLEXPRESS;" & _

Page 22: Data gridview

Buscar usando el método find de la propiedad DefaultView

Código similar al anterior , pero que usa el método Find de la propiedad Defaultview de un Dataset accediendo a la base de datos mediante OLEDB

( Button1 , dataGridView1 y TextBox1)

Nota: indicar la cadena de conexión, el comando sql en el oledbdataAdapter y también el nombre del campo por el cual buscar, en la propiedad Sort

Texto plano Copiar código fuente Imprimir

1.2. Option Strict On 3. Option Explicit On 4.5. ' Espacio de nombres para para acceder al proveedor OleDb 6. Imports system.Data.OleDb 7.8. Public Class Form1 9.10. ' declaración del ConnectionString 11. Private Const cadena_conexion As String = "Indicar la cadena" 12.13. ' declaración del dataset 14. Private oledb_dataset As DataSet 15.16. Private Sub Form1_Load( _ 17. ByVal sender As System.Object, _ 18. ByVal e As System.EventArgs) Handles MyBase.Load 19.20. Button1.Text = "Buscar" 21. TextBox1.Text = String.Empty 22.23. 'Configurarar propiedades para el DataGridView 24. With DataGridView1 25. .MultiSelect = False 26. .SelectionMode = DataGridViewSelectionMode.FullRowSelect 27. End With 28.29. Try 30. ' Inicializar nueva conexión OLEDB y abrirla 31. Using cn As New OleDbConnection(cadena_conexion) 32.33. cn.Open() 34.35. ' Inicializar nuevo adaptador de datos OleDb 36. Dim da As New OleDbDataAdapter("Select * From una Tabla", cn) 37.38. ' Crear y cargar el DataSet 39. oledb_dataset = New DataSet 40.41. da.Fill(oledb_dataset, "Mi Tabla") 42.43.44. With oledb_dataset.Tables("Mi Tabla") 45.46. ' Indicar en la propiedad Sort el campo por el cual buscar 47. .DefaultView.Sort = "Clientes" 48. ' asignar el origen de datos a la grilla

Page 23: Data gridview

49. DataGridView1.DataSource = .DefaultView 50. End With 51.52. End Using 53.54. Catch ex As Exception 55. MsgBox(ex.Message.ToString) 56. Finally 57. Me.Cursor = Cursors.Default 58. End Try 59.60. End Sub 61.62. Private Sub Button1_Click( _ 63. ByVal sender As System.Object, _ 64. ByVal e As System.EventArgs) Handles Button1.Click 65.66. ' buscar y retornar el índice de la fila encontrada 67. Dim fila As Integer = oledb_dataset.Tables("Mi

tabla").DefaultView.Find(TextBox1.Text) 68.69. ' si el índice es -1 no se encontró 70. If fila <> -1 Then 71.72. With DataGridView1 73.74. ' Establecer el índice de la primera fila del DataGridview 75. ' para visualziarlo arriba de todo 76. .FirstDisplayedScrollingRowIndex = fila 77.78. ' asignar la celda al CurrentCell para seleccionarla 79. .CurrentCell = .Rows(fila).Cells(0) 80.81. ' seleccionar el control 82. .Select() 83.84. 'mostrar el índice en el caption del formulario 85. Me.Text = "índice de la fila actual : "

& .CurrentCell.RowIndex.ToString 86.87. End With 88. Else 89. ' No se encontró 90. MsgBox("No se encontró el elemento en el DataGridView") 91. End If 92. End Sub 93. End Class

Enlazar el control DataGridView con una clase genérica del tipo List(Of T)

La versión 2.0 del marco de trabajo de .NET (Visual Studio 2005), introdujo una serie de clases genéricas para complementar las colecciones ya existentes en las versiones previas de la plataforma .NET. Entre ellas se encontraba la clase genérica List(Of T) , que nos permite tener

Page 24: Data gridview

una lista de objetos de un determinado tipo de dato, lo que en el argot de .NET se conoce como una lista fuertemente tipificada, o tipada, como también se le denomina en ciertos medios.

Esto significa que la lista no puede contener objetos de diversos tipos (Str ing, Integer, DateTime). El objeto List(Of T) sólo puede contener objetos de un mismo tipo, siendo la T la que define el tipo de dato que contendrá la lista: todos los elementos serán Str ing, Integer o DateTime, obteniéndose una excepción en tiempo de diseño o compilación si algún objeto no es del tipo de dato definido al crear la lista.

Como la clase List(Of T) implementa la interfaz IL ist , entre otras más, cumple el requisito necesario para poder asignárselo a la propiedad DataSource del control DataGridView, tal y como muestra el siguiente ejemplo:

Dim paises As New List(Of String)

paises.Add("España")

paises.Add("Francia")

paises.Add("Italia")

paises.Add("Alemania")

' Enlazamos el control DataGridView con la lista genérica

DataGridView1.DataSource = paises

El resultado que se mostrará en el control DataGridView será el que aparece en la siguiente imagen:

Lo mismo se estará preguntando dónde están los nombres de los países que se han añadido a la lista genérica. Como podrá observar, solamente aparecen las longitudes de los nombres de los países que se han añadido a la lista, es decir, el valor devuelto por la propiedad Length de la clase System.Str ing, que es el tipo de dato con el que se ha definido el objeto List(Of T) . Como la clase System.Str ing solamente dispone de una única propiedad que no necesita de ningún

Page 25: Data gridview

índice para obtener su valor, es por ello que únicamente se mostrarán en el control DataGridView los valores de dicha propiedad.

Es cierto que la clase System.Str ing también dispone de la propiedad Chars , pero ésta necesita un índice para devolver el carácter (un valor Char) existente en el índice o posición indicado. Por éste motivo, los valores de ésta propiedad no se mostrarán en el control DataGridView.

Pero si en lugar de crear una lista genérica con tipos de datos Str ing, la generamos utilizando estructuras DateTime, o cualquier otra clase o estructura definida por nosotros mismos, podremos observar los valores de muchas más propiedades:

Dim fechas As New List(Of DateTime)

fechas.Add(New DateTime(1492, 10, 12))

fechas.Add(New DateTime(1776, 7, 4))

' Enlazamos el control DataGridView con la lista genérica

DataGridView1.DataSource = fechas

' Eliminamos ciertas columnas

DataGridView1.Columns.Remove("Hour")

DataGridView1.Columns.Remove("Kind")

DataGridView1.Columns.Remove("Millisecond")

DataGridView1.Columns.Remove("Minute")

DataGridView1.Columns.Remove("Second")

Siendo el resultado el que aparece a continuación:

Esto viene a confirmar que el control DataGridView dispondrá de tantas columnas como propiedades públicas tenga el tipo de dato, o la estructura, con la que se ha definido la lista genérica List(Of T) .

Page 26: Data gridview

Todo esto está bien para mostrar un listado con los valores de la lista genérica definida, pero no podrá añadir nuevos registros al control DataGridView, ni tampoco eliminar los ya existentes, con lo cual no sabemos muy bien si nos puede ser de utilidad.

Enlazar el control DataGridView con una clase genérica del tipo BindingList(Of T)

Como he mencionado al comienzo del artículo, otro requisito para poder enlazar un control DataGridView a un origen de datos, es que éste implemente la interfaz IBindingList , tal y como así lo hace la clase BindingList(Of T) , que es la clase genérica del marco de trabajo de .NET que admite el enlace de datos, por tanto, la podemos utilizar en nuestras clases para proporcionar a las mismas un enlace de datos bidireccional.

Vamos a impletar la típica clase Cl iente, la cual tendrá tres únicas propiedades públicas, a parte de su constructor predeterminado y de otro constructor sobrecargado.

Public Class Cliente

Private m_idCliente As Integer

Private m_nombre As String

Private m_direccion As String

Public Sub New()

' Constructor por defecto. Es necesario para

' poder añadir nuevos registros en blanco.

End Sub

Public Sub New(ByVal idcliente As Integer, ByVal nombre As String, ByVal

direccion As String)

m_idCliente = idcliente

m_direccion = direccion

m_nombre = nombre

End Sub

Public Property IdCliente As Integer

Get

Return m_idCliente

End Get

Set(ByVal value As Integer)

m_idCliente = value

End Set

Page 27: Data gridview

End Property

Public Property Nombre As String

Get

Return m_nombre

End Get

Set(ByVal value As String)

m_nombre = value

End Set

End Property

Public Property Direccion As String

Get

Return m_direccion

End Get

Set(ByVal value As String)

m_direccion = value

End Set

End Property

End Class

Podríamos crear una lista genérica del tipo List(Of Cl iente) tal y como he explicado en el apartado anterior. Pero estaríamos en las mismas: no se podrán añadir nuevos registros al control DataGridView.

Para solventar éste impedimento necesitamos de una clase intermedia que nos proporcione un enlace de datos, y que disponga de un evento para añadir nuevos registros, en nuestro caso, nuevos objetos del tipo Cl iente. Y esta clase bien pudiera ser cualquiera que herede de la clase System.ComponentModel.BindingList(Of T) :

Imports System.ComponentModel

Public Class ListaClientes

' La clase admitirá el enlace de datos

Inherits BindingList(Of Cliente)

Page 28: Data gridview

Protected Overrides Sub OnAddingNew(ByVal e As AddingNewEventArgs)

' Creamos un nuevo Cliente

'

e.NewObject = New Cliente()

End Sub

End Class

Esta clase derivada, a parte de la funcionalidad existente en el objeto BindingList(Of T) , hará que se desencadene el evento AddingNew cada vez que se desee crear un nuevo registro en el control DataGridView, de ahí que se reemplace el método OnAddingNew para asignarle una nueva instancia de la clase Cl iente a la propiedad NewObject del objeto AddingNewEventArgs .

Una vez que tenemos creadas ambas clases (Cl iente y L istaCl ientes), ya es hora de enlazar un objeto BindingList(Of T) con un control DataGridView. Para ello, simplemente ejecutaría lo siguiente:

' Construimos una lista de clientes

Dim lst As ListaClientes = New ListaClientes()

' Añadimos clientes a la lista

lst.Add(New Cliente(43001, "José Amate", "C/. García Benítez, 23"))

lst.Add(New Cliente(43002, "Felipe Moya", "C/. Isaac Peral, 56"))

lst.Add(New Cliente(43003, "Carmen Díaz", "C/. Ruiz Romero, 85"))

' Enlazamos el control DataGridView con la lista

DataGridView1.DataSource = lst

Y aquí tiene el resultado:

Page 29: Data gridview

Como podrá observar en la imagen, el cuarto registro está siendo añadido actualmente al control DataGridView. Asimismo, podrá editar cualquier registro existente, al igual que eliminar cualquiera de ellos. Los cambios que efectúe en el control DataGridView, automáticamente se actualizarán en la lista genérica definida, que podrá referenciarla ejecutando la siguiente asignación:

' Referenciamos el origen de datos del control DataGridView.

'

Dim lst As ListaClientes = DirectCast(DataGridView1.DataSource,

ListaClientes)

' Recorremos sus elementos

'

For Each item As Cliente In lst

Console.WriteLine("{0} {1} {2}", item.IdCliente, item.Nombre,

item.Direccion)

Next