Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Desplegar mensaje al borrar un Item Listview

Estas en el tema de Desplegar mensaje al borrar un Item Listview en el foro de Visual Basic clásico en Foros del Web. Buenas tardes amigos del foros del web: Soy nuevo en el forum y tambien estoy aprendiendo a programar en visual basic 6 este es mi ...
  #1 (permalink)  
Antiguo 07/08/2008, 14:41
 
Fecha de Ingreso: agosto-2008
Mensajes: 3
Antigüedad: 15 años, 8 meses
Puntos: 0
Desplegar mensaje al borrar un Item Listview

Buenas tardes amigos del foros del web:

Soy nuevo en el forum y tambien estoy aprendiendo a programar en visual basic 6 este es mi problema. tengo un arreglo de 23 label los cuales se llenan con articulos desde una base de datos al dar click en cada uno estos los agregos al Listview y cuando estan agregados esto se graban en tabla de la base datos. Yo puedo cargar nuevamente el listview con los datos ya grabados pero lo que ando buscando es que los datos ya grabados en el listview que estan cargados los usuarios no lo puedan borrar pero si pueden agregar nuevos.

ejemplo:
Datos Cargados nuevamente.
Cant. Descripcion Precio
1 Jugo de naranja $30.00
2 Sandwisch $25.00

Si el usuario quiere borrar el sandwisch que me despliegue un mensaje: "No puede eliminarlo ya esta ordenado", el usuario si puede agregar un sandwish nuevo en este caso serian "3" en caso de que quiera eliminarlo si puede ya que no esta ordenado. esto lo quiero aplicar para lo demas articulos. Este es mi codigo para borrar.
Código:
Private Sub cmdDelete_Click()
    Dim curUnitPrice As Currency
    Dim lngIndex As Long
    Dim lngQty As Long
    Dim k As Boolean
    
    With lvw
        If Not (.SelectedItem Is Nothing) Then
            lngIndex = Mid(.SelectedItem.Key, 2)
            lngQty = Val(.SelectedItem.Text)
        If S_Status = True Then
                    If CheckModify(lngQty, .SelectedItem.SubItems(1)) = False Then
                        MsgBox "No puede eliminarlo ya esta ordenado"
                        Exit Sub
                    'Else
                    '   it will continue deleting
                    End If
        End If
            If lngQty > 1 Then
                lngQty = lngQty - 1
                curUnitPrice = Val(lblItem(lngIndex).Tag)
                .SelectedItem.Text = lngQty
                .SelectedItem.SubItems(3) = Format(lngQty * curUnitPrice, "Currency")
            Else
                lblItem(lngIndex).ForeColor = vbBlack
                .ListItems.Remove .SelectedItem.Index
            End If
        End If
    End With
    ShowTotal
Esta es la funcion en la cual estoy confundio y no encuentro una logica para poder enviarle el valor.

Si tienen algo mejor se los agradecerias

Código:
Public Function CheckModify(ByRef qTy As Long, ByRef Iitem As String) As Boolean

    If qTy > Temp Then
        CheckModify = True
    ElseIf qTy = Temp Then
        CheckModify = False
    End If
End Function
La verdad que apreciaria una ayuda con esto se los agradeceria

Cabral.
  #2 (permalink)  
Antiguo 07/08/2008, 14:45
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Desplegar mensaje al borrar un Item Listview

Al cargar los datos al ListView puedes poner en el Tag del Item que ese elemento ya no se puede borrar.

Para los Items agregados después coloca que sí.

Luego, al momento de eliminar con un If comparas cuál es el Tag y validas la eliminación.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 07/08/2008, 15:33
 
Fecha de Ingreso: agosto-2008
Mensajes: 3
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Desplegar mensaje al borrar un Item Listview

Entiendo lo que me dices pero pudieras escribirme un ejemplo porfavor te lo agradaceria bastante.

Cabral
  #4 (permalink)  
Antiguo 07/08/2008, 15:36
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Desplegar mensaje al borrar un Item Listview

Bueno, para empezar, en el código donde estás cargando en el ListView los datos, deberías poner algo como esto (suponiendo que el nuevo elemento lo asignaste a una variable llamada Item):
Código PHP:
Item.Tag "NO-DELETABLE" 
Luego en el código que utilizas para eliminar coloca esto:
Código PHP:
If .SelectedItem.Tag "NO-DELETABLE" Then
     MsgBox 
"No se puede eliminar"vbCritical
Else
     
' Código para eliminar '
End If 
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.

Última edición por David; 07/08/2008 a las 15:46
  #5 (permalink)  
Antiguo 07/08/2008, 16:34
 
Fecha de Ingreso: agosto-2008
Mensajes: 3
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Desplegar mensaje al borrar un Item Listview

David me esta funcionando pero me encontre con lo siguiente cuando cargo el Listview y agrego un producto del mismo elemento este debe permitirme borrar el nuevo ya que el nuevo no ha sido comprado y cuando agrego del mismo producto solamente incrementa la Cantidad y la descripcion sigue igual

ejemplo:
Primera compra "Guardar"
Cant. Descripcion Precio
1 Sandwisch $25.00

Cargo el Listview "Suponer que quieren otro Sandwish"
Cant. Descripcion Precio
2 Sandwisch $25.00
Puedo borrarlo en caso de que el cliente no lo quiera antes de enviarlo pero el primero no lo debo eliminar porque ya esta pedido. esto debo de aplicarlo asi cada vez que grabe un articulo esto lo hago por seguridad.

Agradeceria un ejemplo por favor

Gracias
  #6 (permalink)  
Antiguo 09/08/2008, 09:36
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Exclamación Respuesta: Desplegar mensaje al borrar un Item Listview

Pues bien, puedes poner por cantidad entonces:
Código PHP:
If Val(Item.Text) > 1 Then ' Si hay más que uno
'
Permitir eliminar
Else
No permitir
End 
If 
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:18.