Ver Mensaje Individual
  #10 (permalink)  
Antiguo 04/03/2010, 15:36
lestatAb
 
Fecha de Ingreso: febrero-2010
Mensajes: 37
Antigüedad: 15 años
Puntos: 0
Respuesta: Õbtener el valor X,Y de un datagridview C#

Disculpa, yo lo hice con Visual Basic, pero te puede servir... Puedes darle formato al datagrid para que la celda esté en formado moneda, y si no hay valor, se ponga un cero, de todos modos, evalua si al recorrer las filas tienes un valor nulo, uno sencillo q hize fue este (ahí te va el codigo, el otro más complicado no lo encuentro... parece q todo me salio bien por tener formateada la celda [el estilo] del datagridview en moneda y la base de datos también en moneda, así q formatea la columna de la hoja de excel y la columna del datagrid)
Código:
        Dim totalTratamientos As Double = 0
        Dim totalMedicamentos As Double = 0
        Dim totalArticulos As Double = 0
        Dim descuentoT As Double = 0
        Dim descuentoM As Double = 0
        Dim descuentoA As Double = 0
        Dim totalTotal As Double = 0
        Dim totalIva As Double = 0
        Try
            If Me.dgvTratamientos.Rows.Count > 0 Then
                For i As Integer = 0 To Me.dgvTratamientos.Rows.Count - 1
                    totalTratamientos = totalTratamientos + Me.dgvTratamientos.Rows(i).Cells(4).Value
                    descuentoT = descuentoT + Me.dgvTratamientos.Rows(i).Cells(7).Value
                    totalTotal = totalTotal + Me.dgvTratamientos.Rows(i).Cells(9).Value
                    totalIva = totalIva + Me.dgvTratamientos.Rows(i).Cells(8).Value
                Next
            End If
            If Me.dgvMedicamentos.Rows.Count > 0 Then
                For j As Integer = 0 To Me.dgvMedicamentos.Rows.Count - 1
                    totalMedicamentos = totalMedicamentos + Me.dgvMedicamentos.Rows(j).Cells(5).Value
                    descuentoM = descuentoM + Me.dgvMedicamentos.Rows(j).Cells(8).Value
                    totalTotal = totalTotal + Me.dgvMedicamentos.Rows(j).Cells(10).Value
                    totalIva = totalIva + Me.dgvMedicamentos.Rows(j).Cells(9).Value
                Next
            End If
            If Me.dgvArticulos.Rows.Count > 0 Then
                For k As Integer = 0 To Me.dgvArticulos.Rows.Count - 1
                    totalArticulos = totalArticulos + Me.dgvArticulos.Rows(k).Cells(4).Value
                    descuentoA = descuentoA + Me.dgvArticulos.Rows(k).Cells(7).Value
                    totalTotal = totalTotal + Me.dgvArticulos.Rows(k).Cells(9).Value
                    totalIva = totalIva + Me.dgvArticulos.Rows(k).Cells(8).Value
                Next
            End If
        Catch ex As Exception
            MessageBox.Show("No se logró calcular los valores de Resumen", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1)
        End Try
        Me.lblImporte.Text = Format(totalTratamientos + totalMedicamentos + totalArticulos, "$ #,##0.00")
        Me.lblDescuento.Text = Format(descuentoT + descuentoM + descuentoA, "$ #,##0.00")
        Me.lblTotal.Text = Format(totalTotal, "$ #,##0.00")
        Me.lblIva.Text = Format(totalIva, "$ #,##0.00")
PD. Lo desglosé un poco más...