Resumen DBGrid - entrada numérica.

-----Original Message-----
From: Domi <domi@arrakis.es>
To: 'Lista VB-ESP' <vb-esp@ccc.uba.ar>
Date: Tuesday, April 21, 1998 6:03 PM
Subject: (VB-ESP) DBGrid - entrada numérica.

>Quisiera que me indicarais como puedo hacer para limitar la entrada en una
columna
>de un dbGrid a, por ejemplo, dos posiciones numéricas. He mirado en la ayuda y
no >encuentro ninguna propiedad del objeto column que me pueda servir. ¿Es
posible >hacerlo?
>

puedes utilizar el evento BeforeColEdit del DBGrid para darte cuenta que el
usuario va a editar la columna, y si la columna que quieren editar es la columna
donde quieres controlar la entrada, muestras un textbox oculto, le das el foco y
pones el parámetro cancel en true. En el Lost Focus del textbox, lo haces
activar de nuevo el grid. El textbox al principio está invisible, y cuando el
evento lo haces visible:

Option Explicit
Dim TheCol As MSDBGrid.Column

Private Sub DBGrid1_BeforeColEdit(ByVal ColIndex As Integer, ByVal KeyAscii As
Integer, Cancel As Integer)
    If ColIndex = 1 Then
        ' referenciar columna
        Set TheCol = DBGrid1.Columns(ColIndex)
        With txtCapturaCampo
            ' Ajustar posición del textbox para captura
            .Top = DBGrid1.Top + DBGrid1.RowTop(DBGrid1.Row)
            .Height = DBGrid1.RowHeight
            .Left = DBGrid1.Left + TheCol.Left
            .Width = TheCol.Width
            .Text = TheCol.Text
            .SelStart = 0
            .SelLength = Len(.Text)
            ' mostrar y dar foco...
            .Visible = True
            .SetFocus
        End With
    End If
End Sub

Private Sub txtCapturaCampo_KeyPress(KeyAscii As Integer)
    Select Case KeyAscii
        Case 8
        Case 48 To 57
        Case Else
            KeyAscii = 0
    End Select
End Sub

Private Sub txtCapturaCampo_LostFocus()
    With txtCapturaCampo
        TheCol.Text = .Text
        DBGrid1.SetFocus
        .Visible = False
    End With
End Sub

La idea sería algo como eso.

Saludos




Resumen Resumen

Visual Basic Página de Visual Basic

Página principal Página principal

www.jrubi.com