| ||||
Respuesta: progress bar No es así amigo, 100 es una representación de porcentaje entonces si tienes que hacer 2,000 procesos y vas por 500 eso representa un 25% así que le mandas al progress bar 25. Solo debes hacer una clase util que le mandes el total de procesos, el total completados y que devuelva el resultado en porcentaje como numero entero.
__________________ Como crear Excel usando Microsoft Office XML 2003 |
| |||
Respuesta: progress bar Public Sub restarporcentaje() Dim adapt As New OleDbDataAdapter Dim setda As New DataSet Dim com = conexion.CreateCommand Dim total As Decimal = 0 Dim totalcelda As Decimal = 0 Dim totalfinal As Decimal = 0 Dim division As Decimal = 0 Dim a As Integer For Each row As DataGridViewRow In DgTotales.Rows 'carga el textbox total con lo que exista en el grid Dim s As String = CType(row.Cells(5).Value, String) If row.Cells(0).Value Is Nothing Then ' MessageBox.Show("Estimación Finalizada", "Aviso GesDreamtpos") ProgressBar1.Value = 0 Else ' Set the interval for the timer. Timer1.Interval = 250 ' Start the timer. Timer1.Start() ' Increment the value of the ProgressBar a value of one each time. ProgressBar1.Increment(1) ' Display the textual value of the ProgressBar in the StatusBar control's first panel. Label14.Text = ProgressBar1.Value.ToString() + "% Completed" ' Determine if we have completed by comparing the value of the Value property to the Maximum value. If ProgressBar1.Value = ProgressBar1.Maximum Then ' Stop the timer. Timer1.Stop() End If '''''''''''''''''''''''''''''''''''''''''''''''''' If s = "TARJETA CREDITO" Then 'MessageBox.Show("es tarjeta") Else 'total clda es el total que hay en la parrila linea a linea de cantidad por pts totalcelda = CDec(Val(row.Cells(1).Value) * Val(row.Cells(2).Value)) 'tota es el cálculo que hago para sacar el porcentaje que me pide el usuario total = CDec((Val(row.Cells(1).Value) * Val(row.Cells(2).Value)) * CDbl(TxtPorcentaje.Text) / 100) 'total final es el porcentaje restado a la celda, para conseguir la cantidad deseada por el usuario totalfinal = CDec(CStr(CDec(totalcelda - total))) 'división es el total entre la cantidad para sacar la cantidad que debe ir en la celda pts division = CDec(totalfinal / Val(row.Cells(1).Value)) Textprueba.Text = CStr(division.ToString("#,##0.00€")) 'a lo utilizo para marcar en que celda estoy es la idcomanda a = CInt((Val(row.Cells(11).Value))) Textpruebafinal.Text = CStr(a) ' los textbox que utilizo aquí están ocultos tras el datagrid com.CommandType = CommandType.Text com.CommandText = "UPDATE IntroduccionDeVentasAhora SET Pts = ('" & Textprueba.Text & "') Where IdComanda = (" & a & ") and NombreFormaPago <> ('TARJETA CREDITO') and Fecha BETWEEN @FI AND @FF" com.Parameters.AddWithValue("@FI", Fecha1.Value.Date.ToString("dd/MM/yyyy")) com.Parameters.AddWithValue("@FF", Fecha2.Value.Date.ToString("dd/MM/yyyy")) adapt.SelectCommand = com conexion.Open() com.ExecuteNonQuery() conexion.Close() End If End If Next osea aquí que hago mal?¿?, veo que tu explicación se queda corta para mi entendedera...que es poca sorry |
| ||||
Respuesta: progress bar ProgressBar no usa necesariamente un valor de 100 como máximo. El valor máximo a acumular puede ser modificado con la propiedad Maximum. Si tu vas a procesar 123.896 objetos, y quieres representar la progresión de esos procesos, simplemente le pones al control el Maximum 123895 y comienzas con el valor 0 y le vas sumando 1 en cada proceso. El hecho que pueda representarse un porcentual procesado no tiene nada que ver con que uses otro Maximum, sino con la forma de presentar la información.
__________________ ¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente... "El problema es la interfase silla-teclado." (Gillermo Luque) |
| |||
Respuesta: progress bar gnzsoloyo ese problema no es exactamente el que yo tengo, primero gracias por la aportación, la situación es que tengo un datagrid al que le cambio una información linea a linea...no se cuantas líneas va a haber en el grid...por lo que necesito que me ayudeis a saber como usar maximum cuando no se sabe la cantidad de líneas que vas a tener...gracias.. |
| |||
Respuesta: progress bar b = CInt((Val(row.Cells(11).Value))) c = DgTotales.Rows.Count If b <> a Then ProgressBar1.Maximum = c ProgressBar1.Minimum = 0 ProgressBar1.Value += 1 a = CInt((Val(row.Cells(11).Value))) Textpruebafinal.Text = CStr(a) esto que he conseguido ya sabe cuantas lineas hay y las veces que va a tener que hacer el progress bar el problema es por ejemplo,....si tengo 200 líneas llega un momento que me salta un error que dice 201 no puede realizarse debe estar entre los valores maximun y minimun |
| |||
Respuesta: progress bar b = CInt((Val(row.Cells(11).Value))) c = DgTotales.Rows.Count ProgressBar1.Maximum = c ProgressBar1.Minimum = 0 If b = a Then Label14.Text = "100% Completo" ElseIf b = 0 Then Label14.Text = "100% Completo" Exit For Exit Sub Else ProgressBar1.Value += 1 a = CInt((Val(row.Cells(11).Value))) Textpruebafinal.Text = CStr(a) EN ESTE CASO NO CONSIGO QUE SALGA DEL FOR...sabeis por qué? |
Etiquetas: |