Foros del Web » Programación para mayores de 30 ;) » .NET »

Obtener datos desde un datagridview

Estas en el tema de Obtener datos desde un datagridview en el foro de .NET en Foros del Web. Hola, les cuento , tengo este codigo que me muestra todos los Analisis de una empresa en Comun, tengo una tabla que se llama Muestra ...
  #1 (permalink)  
Antiguo 20/08/2010, 08:56
 
Fecha de Ingreso: noviembre-2009
Mensajes: 11
Antigüedad: 14 años, 4 meses
Puntos: 0
Obtener datos desde un datagridview

Hola, les cuento , tengo este codigo que me muestra todos los Analisis de una empresa en Comun,

tengo una tabla que se llama Muestra que enlaza a las demas.. (subo que enlaza solamente a dos Organolepticos, y materiasEstrañas

Muestra


Organolepticos


MateriasExtrañas


al momento de cargar los datos me muestra algo mas o menos asi ...




ahora lo que necesito es mandar a unos label un porcentaje de cumplimiento, por ejemplo que todas son normales tener un 100% si tengo 3 normales y 7 Anormales tener un 30% de cumplimiento..


algo asi como esto..


para rellenar todo tengo este codigo que encontre en internet y modifique y que me sirve de lo mas bien...


Código:
Option Explicit On
Option Strict On

' Espacio   
Imports System.Data.SqlClient

Public Class Informe3
    ' Cadena de conexión   
    Private Const cs As String = "Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Buho1.mdf;Integrated Security=True;User Instance=True"



    Private Sub data1( _
    ByVal data As DataGridView, _
    ByVal sql As String)

        ' nueva conexión indicando al SqlConnection la cadena de conexión   
        Dim cn As New SqlConnection(cs)

        Try

            ' Abrir la conexión a Sql   
            cn.Open()

            ' Pasar la consulta sql y la conexión al Sql Command    
            Dim cmd As New SqlCommand(sql, cn)

            ' Inicializar un nuevo SqlDataAdapter    
            Dim da As New SqlDataAdapter(cmd)

            'Crear y Llenar un Dataset   
            Dim ds As New DataSet
            da.Fill(ds)

            ' asignar el DataSource al combobox   
            data.DataSource = ds.Tables(0)

            '' Asignar el campo a la propiedad DisplayMember del combo    
            ' data.DisplayMember = ds.Tables(0).Columns(0).Caption.ToString

        Catch ex As Exception
            MessageBox.Show(ex.Message.ToString, _
                            "error", MessageBoxButtons.OK, _
                            MessageBoxIcon.Error)
        Finally
            If cn.State = ConnectionState.Open Then
                cn.Close()
            End If
        End Try
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click



        Select Case ComboBox1.Text
            Case "Foraneos/Platos Preparados"
                'enviar el control ComboBox y la consulta   
                data1(data, "SELECT     Empresa.Nombre as [Nombre Empresa], " & _
         "Muestra.Protocolo," & _
         "Muestra.Fecha as [Fecha]," & _
         "Muestra.TipoExamen as [Tipo Muestra], " & _
         "Muestra.Producto, " & _
         "Muestra.Descripcion, " & _
         "Organolepticos.Resultado AS [Organolepticos]," & _
        " materiasExtrañas.Resultado as [MateriasExtrañas]," & _
        "OtrosAnalisis.Resultado as [OtrosAnalisis] " & _
        "FROM     Empresa INNER JOIN " & _
                        " Muestra ON Muestra.Rol = Empresa.Rol INNER JOIN " & _
                        " Organolepticos ON Muestra.Protocolo = Organolepticos.NumProtocolo INNER JOIN " & _
                        " MateriaExtrañas. NumProtocolo On Muestra.Protocolo = Rotulacion.NumProtocolo 

INNER JOIN " & _
                        " OtrosAnalisis on Muestra.Protocolo = MateriaExtrañas. NumProtocolo " & _
        " WHERE  Muestra.Rol = " & My.Forms.Informe1.Rol & "")

     
  

   End Class


ahi cualquier cosa de como rrecorrer el dat ay qu eme de los datos seria de mucha ayuda..


gracias

Última edición por EpicentroSupersonico; 20/08/2010 a las 09:01
  #2 (permalink)  
Antiguo 20/08/2010, 09:58
 
Fecha de Ingreso: agosto-2010
Ubicación: Santa cruz de la sierra
Mensajes: 4
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Obtener datos desde un datagridview

hola podrias hacerlo de esta manera haber si funciona

crear un procedimiento CalcularValores y llamarlo al final de la asignacion de la tabla al datagridview

dentro del procedimiento haz lo siguiente
' contador de organoelepticos
dim co as integer=0
'contador de extrañas
dim ce as integer=0
dim i as integer
for i=0 to data.rowcount -1
' pregunta por la posicion donde esta el organoeleptico
if data.item( posicion,i).value="Normal" then
co +=1
end if
' pregunta por la posicion donde esta extrañas
if data.item(posicion,i).value="Normal" then
ce +=1
end if
next

' obtener porcentaje por regla de tres

dim poro as integer = (co * 100)/data.rowcount
dim pore as integer= (ce *100)/data.rowcount

' al final mostramos en los label

label1.text=cstr(poro) & " %"
label2.text= cstr(pore) & " %"


Espero te pueda servir
  #3 (permalink)  
Antiguo 20/08/2010, 10:40
 
Fecha de Ingreso: noviembre-2009
Mensajes: 11
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Obtener datos desde un datagridview

creee el procesimiento pero me tira estos errores..



otra consulta.. como devo llamarlo al final de la asignacion de la tabla al datagridview que no me quedo claro..


muchas gracias... y si quieres puedo subir el proyecto para que los descargue y ser de mayor ayuda..
  #4 (permalink)  
Antiguo 20/08/2010, 11:17
 
Fecha de Ingreso: agosto-2010
Ubicación: Santa cruz de la sierra
Mensajes: 4
Antigüedad: 13 años, 7 meses
Puntos: 0
Respuesta: Obtener datos desde un datagridview

Hola


' asignar el DataSource al combobox
data.DataSource = ds.Tables(0)

'' Asignar el campo a la propiedad DisplayMember del combo
' data.DisplayMember = ds.Tables(0).Columns(0).Caption.ToString

'llamamos al procedimiento CalcularValores
Calcularvalores()



posicion es un dato de tipo integer que tiene la columna del datagridview, tu primera columna
en el data seria la posicion 0, la segunda posicion 1,etc. por ejemplo si la columna organoleptico
en el datagrid es la numero 5 reemplaza posicion por el numero 4, y si la columna extrañas es la numero 6 reemplaza posicion por el numero 5

dim poro as integer = cint((co * 100)/data.rowcount)
dim pore as integer= cint((ce *100)/data.rowcount)
  #5 (permalink)  
Antiguo 20/08/2010, 12:55
Avatar de xjuanch0x  
Fecha de Ingreso: septiembre-2009
Mensajes: 125
Antigüedad: 14 años, 6 meses
Puntos: 1
Respuesta: Obtener datos desde un datagridview

Cita:
Iniciado por EpicentroSupersonico Ver Mensaje
creee el procesimiento pero me tira estos errores..



otra consulta.. como devo llamarlo al final de la asignacion de la tabla al datagridview que no me quedo claro..


muchas gracias... y si quieres puedo subir el proyecto para que los descargue y ser de mayor ayuda..

Esos errores se deben a que no has definido una de las variables y la otro error es que cambies las variables que almacenan el porcentaje como double
__________________
Juan David Torres Vasquez
[email protected]
Microsoft Certified Technology Specialist (MCTS)
DCE Platinum en Visual C# y VB.NET
  #6 (permalink)  
Antiguo 20/08/2010, 13:27
 
Fecha de Ingreso: noviembre-2009
Mensajes: 11
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Obtener datos desde un datagridview

AHHH OKA... AHORA , LLAME A LA FUNCION , ASIGNE LAS CELDAS Y TODO, PERO RESULTA QUE LAS VARIABLES NO ME CAMBIAN DE VALOR, SIEMPRE QUEDAN EN CERO..
CAMBIE ESTOS VALORES POR QUE EL "=" NO HIBA ERA UN "IS"

' If data.Item(0, i).Value Is "Normal" Then


DE ANTEMANO GRACIAS POR LA AYUDAAA

Última edición por EpicentroSupersonico; 20/08/2010 a las 16:03
  #7 (permalink)  
Antiguo 20/08/2010, 16:04
 
Fecha de Ingreso: noviembre-2009
Mensajes: 11
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Obtener datos desde un datagridview

si es normal , obvio que es aceptado, hay algunas partes donde el codigo cambia pero el lo mimo que normal=aceptado por las dudas
  #8 (permalink)  
Antiguo 22/08/2010, 11:51
 
Fecha de Ingreso: noviembre-2009
Mensajes: 11
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Obtener datos desde un datagridview

un no puedooo.. help me!!!
  #9 (permalink)  
Antiguo 23/08/2010, 14:23
 
Fecha de Ingreso: noviembre-2009
Mensajes: 11
Antigüedad: 14 años, 4 meses
Puntos: 0
Respuesta: Obtener datos desde un datagridview

alguien que se apiade..?

Etiquetas: datagridview
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 12:33.