Igual que podemos tener un Combo en una columna, podemos tener un ChekBox.
La forma de crearlo es muy parecida a lo ya visto.
Private Sub AnyadirCheckBox()
Dim CheckColum As New DataGridViewCheckBoxColumn
CheckColum.Name = "Contado"
CheckColum.DataPropertyName = "FormaPago"
CheckColum.ValueType = GetType(Boolean)
CheckColum.FalseValue = "0"
CheckColum.TrueValue = "1"
CheckColum.HeaderText = "Forma de Pago"
DataGrid.Columns.Add(CheckColum)
End Sub
Primero creamos el objeto.
Dim CheckColum As New DataGridViewCheckBoxColumn
Le asignamos un nombre
CheckColum.Name = "Contado"
Indicamos cual es el nombre de la columna en la SQL.
CheckColum.DataPropertyName = "FormaPago"
Indicamos que tipo de dato vamos a encontrar.
CheckColum.ValueType = GetType(Boolean)
Definimos los valores cierto y falso.
CheckColum.FalseValue = "0"
CheckColum.TrueValue = "1"
Indicamos el contenido en la cabecera.
CheckColum.HeaderText = "Forma de Pago"
Y lo añadimos
DataGrid.Columns.Add(CheckColum)
Y cuando carguemos los datos en función del valor de la columna de forma de pago, su valor cambiara de activado a desactivado.
Podemos utilizar el evento CellMouseMove y el parámetro ColumIndex para emitir un texto en función de la columna en la que estamos.
Private Sub DataGrid_CellMouseMove(ByVal sender As Object, _
ByVal e As System.Windows.Forms.DataGridViewCellMouseEventArgs) _
Handles CellMouseMove
Select Case e.ColumnIndex
Case 0
Mensajes01.Text = "Código del servicio"
Case 1
Mensajes01.Text = "Denominación "
Case 2
Mensajes01.Text = "Tipo de servicio"
Case 3
Mensajes01.Text = "Cuota del mismo"
Case 4
Mensajes01.Text = "Importe del servicio"
End Select
End Sub
En este evento podemos asignar formato en función del contenido o valor a la celda que nos interese.
En el ejemplo se asigna un color a la columna en función del número de caracteres que posee la tercera columna.
Private Sub ObjDataGrid_CellFormatting(_
ByVal sender As Object, _
ByVal e As System.Windows.Forms.DataGridViewCellFormattingEventArgs) _
Handles ObjDataGrid.CellFormatting
' Formato en función de la longitud de la columna, y que no esté vacía
If e.ColumnIndex = ObjDataGrid.Columns(3).Index AndAlso e.Value IsNot Nothing
Then
Select Case e.Value.ToString().Length
Case 1
e.CellStyle.SelectionForeColor = Color.Red
e.CellStyle.ForeColor = Color.Red
Case 2
e.CellStyle.SelectionForeColor = Color.Yellow
e.CellStyle.ForeColor = Color.Yellow
Case 3
e.CellStyle.SelectionForeColor = Color.Green
e.CellStyle.ForeColor = Color.Green
Case Else
e.CellStyle.SelectionForeColor = Color.Blue
e.CellStyle.ForeColor = Color.Black
End Select
End If
End Sub
Síguenos en: Facebook Sobre aulaClic Política de Cookies