Visual Basic - datagridview

Life is soft - evento anual de software empresarial
 
Vista:
sin imagen de perfil

datagridview

Publicado por jorge (3 intervenciones) el 12/10/2021 02:02:05
buenas tardes amigos son nuevo en esto pero estoy haciendo un programa que me haga remisiones de venta, uso un datagridview para ingresar los productos con una lista desplegable, solo que en la columna cantidad me depliega tambien la lista y es lo que quiero evitar ademas de que solo me acepte nuemeros decimales

alguien podria auxiliarme por favor

aqui les pongo lo que llevo las lineas de programacion a partir de editincontrolshowing


Private Sub DataGridRemision_EditingControlShowing(sender As Object, e As DataGridViewEditingControlShowingEventArgs) Handles DataGridRemision.EditingControlShowing
Dim txproducto As String = DataGridRemision.Columns(0).HeaderText

If txproducto.Equals("Descripcion") Then
Dim autotex As TextBox = TryCast(e.Control, TextBox)
If autotex IsNot Nothing Then
autotex.AutoCompleteMode = AutoCompleteMode.Suggest
autotex.AutoCompleteSource = AutoCompleteSource.CustomSource
Dim datacolection As New AutoCompleteStringCollection()
additems(datacolection)
autotex.AutoCompleteCustomSource = datacolection
End If
End If
End Sub

Private Sub BSalir_Click(sender As Object, e As EventArgs) Handles BSalir.Click
Me.Close()
End Sub

Public Sub additems(ByVal col As AutoCompleteStringCollection)
Call cargarpro()
cmd = New OleDbCommand(" SELECT * FROM [Base de Datos Productos]", conn)
dr = cmd.ExecuteReader
Do While dr.Read
col.Add(dr("Descripcion"))
Loop
End Sub

'indexa por la descripcion y importa los datos en la tabla
Private Sub DataGridRemision_CellEndEdit(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridRemision.CellEndEdit
Dim precio, importe, IVA1 As Decimal
Dim cant As Decimal

If e.ColumnIndex = 1 Then
cmd = New OleDbCommand("SELECT * FROM [Base de Datos Productos] WHERE Descripcion LIKE'" & DataGridRemision.Rows(e.RowIndex).Cells(0).Value & "%'", conn)
dr = cmd.ExecuteReader
dr.Read()
If dr.HasRows Then
DataGridRemision.Rows(e.RowIndex).Cells(2).Value = dr("Unidad de Medida") ' le dices en donde poner los datos en la tabla
DataGridRemision.Rows(e.RowIndex).Cells(3).Value = dr("Precio Unitario")
cant = DataGridRemision.Rows(e.RowIndex).Cells(1).Value

precio = DataGridRemision.Rows(e.RowIndex).Cells(3).Value
DataGridRemision.Rows(e.RowIndex).Cells(4).Value = dr("IVA")
IVA1 = DataGridRemision.Rows(e.RowIndex).Cells(4).Value
importe = cant * precio
DataGridRemision.Rows(e.RowIndex).Cells(5).Value = importe
End If
End If
suma += importe
suma = Format(suma, "#.#0")
sumaiva += IVA1
sumaiva = Format(sumaiva, "#.#0")
Totalremision = suma + sumaiva
Totalremision = Format(Totalremision, "#.#0")
TxImporteSuma.Text = suma.ToString
TxIvaSuma.Text = sumaiva.ToString
TxTotalR.Text = Totalremision.ToString
End Sub


espero puedan ayudarme saludos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder