Sei sulla pagina 1di 7

El control DataGridView proporciona una tabla personalizable para mostrar datos.

La clase DataGridView permite personalizar celdas, filas, columnas y bordes mediante propiedades como DefaultCellStyle, ColumnHeadersDefaultCellStyle, CellBorderStyle y GridColor. Para obtener ms informacin, vea Estilo y formato bsicos del control DataGridView en formularios Windows Forms. Puede utilizar un control DataGridView para mostrar datos con o sin un origen de datos subyacente. Sin especificar un origen de datos, puede crear las columnas y filas que contendrn los datos y agregarlas directamente a DataGridView. Como alternativa, puede establecer las propiedades DataSource y DataMember para enlazar el controlDataGridView a un origen de datos y llenarlo de datos automticamente. Para obtener ms informacin, vea Mostrar datos en el control DataGridView de formularios Windows Forms. Al trabajar con grandes cantidades de datos, puede establecer la propiedad VirtualMode en true para mostrar un subconjunto de los datos disponibles. El modo virtual requiere la implementacin de una cach de datos a partir de la cual se llenar el control DataGridView. Para obtener ms informacin, vea Modos de presentacin de datos en el control DataGridView de formularios Windows Forms. PROPIEDADES

Enlace de datos
El control DataGridView de Visual Basic 2005 no requiere mtodos ni eventos especficos de datos, ya que todas las acciones se realizan a travs del origen de datos. Debido a esta separacin de la presentacin y la funcionalidad de los datos, el origen de datos se puede cambiar con o sin entrada de interfaz de usuario. Asimismo, mltiples controles enlazados al mismo origen de datos siempre permanecern sincronizados.

Desplazamiento
Ya no son necesarias las propiedades para visualizar y desplazarse en el control DataGrid (como TabAction, EnterAction, AllowArrows, WrapCellPointer y Scrollable). Por ejemplo, la cuadrcula funciona como si la propiedad Scrollable se estableciese en True: si existen ms datos que mostrar, aparece automticamente una barra de desplazamiento. De manera predeterminada, los desplazamientos por la cuadrcula siguen el modelo de Excel, es decir, el usuario se puede desplazar hacia delante con la tecla TAB y hacia atrs con la combinacin de teclas MAYS+TAB. Para obtener ms informacin, vea Control predeterminado de teclado y mouse (ratn) en el control DataGridView de formularios Windows Forms.

Propiedad Caption
En Visual Basic 6.0 la propiedad Caption se utilizaba para mostrar una barra de ttulo sobre la cuadrcula; si se dejaba vaca, no se mostraba ninguna barra de ttulo. El control DataGridView de Visual Basic 2005 no admite barra de ttulo. Sin embargo, puede lograr el mismo efecto mediante un control Label.

Formato de datos
En Visual Basic 6.0, el formato de datos en el control DataGrid se controla utilizando la propiedad DataFormat y un objeto StdDataFormat. El formato se aplica columna por columna. En el control DataGridView de Visual Basic 2005, el formato se realiza mediante la propiedad Format de un objeto DataGridViewCellStyle. El formato se puede aplicar a

celdas, columnas o filas individuales. Para obtener ms informacin, vea Formato de datos en el control DataGridView de formularios Windows Forms.

Propiedad hWndEditor
En Visual Basic 6.0, para pasar el identificador de ventana asignado a una ventana de edicin del control DataGrid a una llamada a la API de Windows se utiliza la propiedadhWndEditor. El control DataGridView de Visual Basic 2005 no tiene un identificador de la ventana independiente en modo de edicin; en su lugar, utilice la propiedad Handle del controlDataGridView o cualquier control de edicin incrustado.

Propiedad MarqueeStyle
En Visual Basic 6.0, la propiedad MarqueeStyle controla el aspecto de una celda o fila seleccionada cambiando el estilo de borde, invirtiendo los colores de primer plano y de fondo o invocando una ventana de edicin. No existe ningn equivalente directo del control DataGridView en Visual Basic 2005. Sin embargo, puede lograr el mismo efecto utilizando una combinacin de propiedadesSelectionMode, CellBorderStyle y Format. Para obtener ms informacin, vea Modos de seleccin en el control DataGridView de formularios Windows Forms.

Propiedades SelLength, SelStart, SelText


En el control DataGrid de Visual Basic 6.0, cuando una celda pasa al modo de edicin se pueden utilizar las propiedades SelLength, SelStart y SelText para establecer la posicin inicial del smbolo de intercalacin o para resaltar una parte del texto en la celda. En el control DataGridView de Visual Basic 2005 ya no existen estas propiedades. Las celdas del control DataGridView se basan en el control TextBox; si agrega cdigo al controlador de eventos EditingControlShowing, se puede tener acceso a las propiedades SelectionLength, SelectionStart y SelectedText del control subyacente.

Dividir vistas
El control DataGrid de Visual Basic 6.0 admite la divisin de vistas, que permite al usuario mostrar los mismos datos uno al lado de otro. El objeto Split y las propiedades Split,Splits y TabAcrossSplits controlan esta capacidad de mostrar una vista dividida. En el control DataGridView de Visual Basic 2005 ya no existen estas propiedades. Sin embargo, puede lograr el mismo efecto mediante uno o ms controles SplitContainer y varios controles DataGridView. Para duplicar la funcionalidad de la propiedad TabAcrossSplits, puede utilizar la propiedad StandardTab del control DataGridView.

COMOBOX Y DATAGRID
Descripcin
Para enlazar el datagridView al comboBox, se debe crear una instancia de una clase que tiene un mtodo llamado Iniciar, y luego enviarle como parmetro a esa funcin , los dos controles: El DataGridview a usar y el control combobox

Para indicar la columna del datagridview que se visualizar en el control combo al cerrar la lista o al moverse por las filas de la grilla, se debe indicar el ndice al la propiedad ColumnDefault y tiene algunas otras propiedades para cambiar el ancho y alto del listado, si la lista se muetra como un dilogo modal o normal, y si se visualizar un tooltiptext para el combo

1. Public Class Form1


2.

3. 4.
5.

Private WithEvents mClass1 As Class1 Private WithEvents mClass2 As Class1

6. 7. 8.

Private Sub Form1_FormClosed( _ ByVal sender As Object, _ ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.For mClosed

9.

10. 11.
12. 13.

If Not mClass1 Is Nothing And mClass2 Is Nothing Then mClass1.Dispose() mClass2.Dispose()

14. 15. 16.


17.

mClass1 = Nothing mClass2 = Nothing End If

18.
19.

End Sub

20. 21. 22.


23.

Private Sub Form1_Load( _ ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load

24. 25. 26. 27. 28. 29. 30.


31.

' agregar algunos datos al datagridview 1 With DataGridView1 .Columns.Add("id", "Id") .Columns.Add("Producto", "Producto") .Columns.Add("Precio", "Precio") .Columns.Add("stock", "Stock actual") .Columns.Add("Proveedor", "Contacto Proveedor")

32.

.RowCount = 100

33.

34. 35. 36. 37. 38. 39. 40. 41.


42.

For i As Integer = 0 To .RowCount - 1 .Item(0, i).Value = i.ToString .Item(1, i).Value = "Producto " & i.ToString .Item(2, i).Value = Format(225 + i, "c") .Item(3, i).Value = CInt(Rnd() * 100) .Item(4, i).Value = "Proveedor: " & i.ToString Next End With

43.
44.

' DataGridView

45.
'''' 46.

'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

47. 48. 49. 50.


51.

With DataGridView2 .Columns.Add("id Cliente", "id Cliente") .Columns.Add("Nombre", "Nombre") .Columns.Add("Apellido", "Apellido")

52.
53.

.RowCount = 100

54. 55. 56. 57.


58.

For i As Integer = 0 To .RowCount - 1 .Item(0, i).Value = i.ToString .Item(1, i).Value = "Nombre " & i.ToString

.Item(2, i).Value = "Apellido" & i.ToString

59.
60.

Next

61.
62. 63.

End With

64. 65.
66.

'

1 -

nueva instancia

mClass1 = New Class1

67. 68. 69.

' configurar With mClass1 ' indicar el combo y el datagridview

70. 71.

.Iniciar(ComboBox1, DataGridView1)

72. 73. 74. 75.


76.

.AltoLista = 400 ' alto .ColumnaDefault = 1 ' columna que se va a mostrar .ShowToolTip = True ' mostrar o no el toolTiptext .ShowDialog = False ' modal o normal

77.
78. 79. 80.

End With

81. 82. 83.


84.

' 2 -''''''''''''''''''''''''' mClass2 = New Class1

85.
86.

With mClass2 .Iniciar(ComboBox2, DataGridView2) .AltoLista = 120 .AnchoLista = 350 .ColumnaDefault = 0 .ShowDialog = True

87. 88. 89. 90.


91.

92. 93.
94. 95.

.ShowToolTip = True End With ComboBox1.Items.Add(DataGridView1.Item(1, 0).Value.ToString) ComboBox1.SelectedIndex = 0 ComboBox2.Items.Add(DataGridView1.Item(0, 0).Value.ToString) ComboBox2.SelectedIndex = 0

96.
97. 98.

99.
100.

101.
102.

End Sub

103. 104. 105. 106. 107.

Private Sub mClass1_ButtonClose() Handles mClass1.onButtonClose mClass1.closeList() End Sub Private Sub mClass2_ButtonClose() Handles mClass2.onButtonClose mClass2.closeList()

108.
109.

End Sub

110.End Class
Llenar un datagridview

1. Dim cn As New OleDbConnection(sConexion)


2.

3. 4. 5. 6.
7.

Dim sSql As String = "Select id_num, campo1, campo2," & _ " campo3, campo4" & _ " From tabla1 Where " & _ " campo1 like '" & Trim(Replace(Me.txtBusqueda.Text, "'", "k")) & "%'" Dim da As New OleDbDataAdapter(sSql, cn) Dim ds As New DataSet da.Fill(ds) DataGridView1.DataSource = ds.Tables(0)

8. 9. 10. 11.

y para obtener e valor

1. Private Sub DataGridView1_RowHeaderMouseDoubleClick(ByVal sender As Obje


ct, ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) Hand les DataGridView1.RowHeaderMouseDoubleClick 2.

3.
4.

' Creamos la variable que contendr el valor Dim Variable As Integer = CInt(DataGridView1.Item(0, DataGridView1.CurrentRow.Index).Value) ' Ahora lo mostramos MessageBox.Show(CStr(Variable))

5.
6.

7. 8.
9.

10. End Sub 11. End Class


Simple ejemplo para cargar un rango de una hoja de Excel en un DataGridView
El siguiente es un simple cdigo fuente para poder conectarse a una hoja de un libro, leer un rango de datos y mostrarlos o cargarlos en un control de tipo DataGridView.

Para el ejemplo colocar en un Form los siguientes controles:

Un TextBox : llamado txtRange ( Para indicar el rango a cargar en la grilla) Un DataGridView Un control Button

Potrebbero piacerti anche