Unidad 53. DataGrid (IX)





53.12. Objetos ChekBox.

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.

 

53.13. Mensajes de ayuda.

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

 

53.14. El evento CellFormatting.

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

 

Octubre-2010
Pág. 53.9

Atrás  Inicio  Adelante






Página inicial  Cursos Informática Gratuitos

Síguenos en:   Facebook       Sobre aulaClic            Política de Cookies