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