CLR: .Net / Mono / Boo / Otros CLR > VB .NET

 Limpiar Un Datagrid

(1/1)

Soultaker:
Hola que tal como estan he estado haciendo un programa pero me he encontrado con un problema, es este tengo un datagrid y un combobox, al momento de seleccionar una opcion del ComboBox en el DataGrid me muestra los datos que pertenecen a esa opcion, hasta ahi todo bien el problema es que cuando vuelvo ha elegir otra opcion lo agrega al Datagrid, osea en el DataGrid se muestra los datos de las 2 opciones que elegi, estoy empleando un DataSet y un DataAdapter. Ahi les escribo el codigo haber si me ayudan.

--- Código: Text --- Imports System.Data.SqlClientDim CN As SqlConnectionDim Sql As StringCn.ConnectionString = "Data Source..................."Cn.OpenSql = "Select * From Empleados Where Name='" & ComboBox1.TextDim DA As New SqlDataAdapter(Sql, CN)Dim DS As New DataSetDA.Fill(ds, "Empleados)datagrid1.datasiurce = ds.tables("Empleado")  El datagrid lo queria limpiar asi

--- Código: Text --- DataGrid1.DataSource = NothingDS.Tables("Empleado").Clear  El problema es que cuando lo ponia en el mismo evento del ComboBox osea en el SelectedIndexChange no me mostraba nada en el DataGrid, pero luego lo puse en un Boton y ahi si lo limpiaba. Como hago para que eso me trabaje en el mismo evento, osea seleccioneo una opcion el ComboBox me muestre los datos y cuando seleccione otro me muestre solo los datos de esa opcion. Si saben como ayudenme pe. Gracias a todos.

 :comp:

diegoar:
Por el momento con esto se soluciono.


Private ds As New DataSet
    Private _conexion As SqlConnection
    Private _adaptador As SqlDataAdapter
    Private dt As DataTable

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        _conexion = New SqlConnection("data source=(local); user id=sa;initial catalog=Northwind ;password=;")
        _adaptador = New SqlDataAdapter("Select CustomerID,CompanyName from Customers", _conexion)
        dt = New DataTable
        _adaptador.Fill(dt)
        cboBusqueda.DataSource = dt
        cboBusqueda.DisplayMember = "CustomerID"        

    End Sub

    Private Sub cboBusqueda_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cboBusqueda.SelectedIndexChanged

        ds.Tables.Clear()        
        _adaptador = New SqlDataAdapter("Select * from orders where CustomerID=@valor", _conexion)
        _adaptador.SelectCommand.Parameters.Add("@valor", cboBusqueda.Text)
        _adaptador.Fill(ds, "Cliente")
        dgDatos.DataSource = ds.Tables("Cliente")

    End Sub

Espero te sirva  :comp:

Navegación

[0] Índice de Mensajes

Ir a la versión completa