 
			
				17/03/2005, 10:53
			
			
			     |  
      |    |    |    Fecha de Ingreso: marzo-2005  
						Mensajes: 190
					  Antigüedad: 20 años, 8 meses Puntos: 0     |        |  
        Urgente Filtros        TENGO EL SIGUIENTE CODIGO CON EL DROPDOWNLIST2 NECESITO FILTRAR LOS DATOS EN EL DATAGRID1 PERO NO ME LO HACE ALGUIEN ME PODRIA INDICAR DONDE ESTA MI ERROR 
 Function MyQueryMethod(ByVal item As String) As System.Data.DataSet 
        Dim connectionString As String = "server=; user id=''; password=''; database=" 
        Dim dbConnection As System.Data.IDbConnection = New System.Data.SqlClient.SqlConnection(connectionStri  ng) 
        Dim queryString As String 
        queryString = "SELECT  [Inventario].[Item], [Inventario].[Inventario], [Inventario].[Equipo], [In" & _ 
"ventario].[Fecha Compra], [Inventario].[Modelo], [Inventario].[Serie], [Inventar" & _ 
"io].[Valor Compra], [Inventario].[Ubicacion] FROM [Inventario]" 
        If item <> " " Then 
            queryString = queryString 
        End If 
        Dim dbCommand As System.Data.IDbCommand = New System.Data.SqlClient.SqlCommand() 
        dbCommand.CommandText = queryString 
        dbCommand.Connection = dbConnection 
        Dim dataAdapter As System.Data.IDbDataAdapter = New System.Data.SqlClient.SqlDataAdapter() 
        dataAdapter.SelectCommand = dbCommand 
        Dim dataSet As System.Data.DataSet = New System.Data.DataSet() 
        dataAdapter.Fill(dataSet) 
        If item <> "" Then 
            Dim dbparam_item As System.Data.IDataParameter = New System.Data.SqlClient.SqlParameter() 
            dbparam_item.ParameterName = "@item" 
            dbparam_item.Value = item 
            dbparam_item.DbType = System.Data.DbType.String 
            dbCommand.Parameters.Add(dbparam_item) 
        End If 
        Return dataSet 
    End Function 
    Function MyQueryMethod2() As System.Data.DataSet 
        Dim connectionString As String = "server=; user id=''; password=''; database=" 
        Dim dbConnection As System.Data.IDbConnection = New System.Data.SqlClient.SqlConnection(connectionStri  ng) 
        Dim queryString As String = "SELECT DISTINCT [Inventario].[Item] FROM [Inventario]ORDER BY ITEM" 
        Dim dbCommand As System.Data.IDbCommand = New System.Data.SqlClient.SqlCommand() 
        dbCommand.CommandText = queryString 
        dbCommand.Connection = dbConnection 
        Dim dataAdapter As System.Data.IDbDataAdapter = New System.Data.SqlClient.SqlDataAdapter() 
        dataAdapter.SelectCommand = dbCommand 
        Dim dataSet As System.Data.DataSet = New System.Data.DataSet() 
        dataAdapter.Fill(dataSet) 
        Return dataSet 
    End Function 
        Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
        'Introducir aquí el código de usuario para inicializar la página 
        DataGrid1.DataSource = MyQueryMethod("") 
        DataGrid1.DataBind() 
        DropDownList2.DataTextField = "item" 
        DropDownList2.DataSource = MyQueryMethod2() 
        DropDownList2.DataBind()   
    End Sub 
    Private Sub DropDownList1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged 
        DataGrid1.PageSize = CInt(DropDownList1.SelectedItem.Value) 
        If campoorden.Text = "" Then 
            DataGrid1.DataSource = MyQueryMethod(IIf((campoitem.Text = ""), "", DropDownList2.SelectedItem.Text)) 
        Else 
            Dim dv As New System.Data.DataView() 
            dv.Table = MyQueryMethod(IIf((campoitem.Text = ""), "", DropDownList2.SelectedItem.Text)).Tables(0) 
            dv.Sort = campoorden.Text 
            DataGrid1.DataSource = dv 
        End If 
        DataGrid1.DataBind() 
    End Sub   
    Sub mi_cambio(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridPageChangedEvent  Args) 
        DataGrid1.CurrentPageIndex = e.NewPageIndex 
        If campoorden.Text = "" Then 
            DataGrid1.DataSource = MyQueryMethod(IIf((campoitem.Text = ""), "", DropDownList2.SelectedItem.Text)) 
        Else 
            Dim dv As New System.Data.DataView() 
            dv.Table = MyQueryMethod(IIf((campoitem.Text = ""), "", DropDownList2.SelectedItem.Text)).Tables(0) 
            dv.Sort = campoorden.Text 
            DataGrid1.DataSource = dv 
        End If 
        DataGrid1.DataBind() 
    End Sub 
    Sub orden(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridSortCommandEvent  Args) 
        Dim dv As New System.Data.DataView() 
        Dim strorden As String 
        dv.Table = MyQueryMethod("").Tables(0) 
        If viewstate("vcolumna") = e.SortExpression Then 
            If viewstate("vorden") = "ASC" Then 
                dv.Sort = e.SortExpression & " " & "DESC" 
                viewstate("vorden") = "DESC" 
            Else 
                dv.Sort = e.SortExpression & " " & "ASC" 
                viewstate("vorden") = "ASC" 
            End If 
        Else 
            viewstate("vcolumna") = e.SortExpression 
            dv.Sort = e.SortExpression & " " & "ASC" 
            viewstate("vorden") = "ASC" 
        End If 
        DataGrid1.DataSource = dv 
        DataGrid1.DataBind() 
        campoorden.Text = e.SortExpression + " " + viewstate("vorden") 
    End Sub 
    Sub pagerbuttonclick(ByVal sender As Object, ByVal e As EventArgs) 
        Dim arg As String = sender.commandargument 
        Select Case arg 
            Case "siguiente" 
                If (DataGrid1.CurrentPageIndex < (DataGrid1.PageCount - 1)) Then 
                    DataGrid1.CurrentPageIndex += 1 
                End If 
            Case "anterior" 
                If (DataGrid1.CurrentPageIndex > 0) Then 
                    DataGrid1.CurrentPageIndex -= 1 
                End If 
            Case "ultima" 
                DataGrid1.CurrentPageIndex = (DataGrid1.PageCount - 1) 
            Case "primera" 
                DataGrid1.CurrentPageIndex = 0 
        End Select 
        If campoorden.Text = "" Then 
            DataGrid1.DataSource = MyQueryMethod(IIf((campoitem.Text = ""), "", DropDownList2.SelectedItem.Text)) 
        Else 
            Dim dv As New System.Data.DataView() 
            dv.Table = MyQueryMethod(IIf((campoitem.Text = ""), "", DropDownList2.SelectedItem.Text)).Tables(0) 
            dv.Sort = campoorden.Text 
            DataGrid1.DataSource = dv 
        End If 
        DataGrid1.DataBind() 
    End Sub       
    Private Sub DropDownList2_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DropDownList2.SelectedIndexChanged 
        DataGrid1.DataSource = MyQueryMethod(DropDownList2.SelectedItem.Text) 
        campoitem.Text = DropDownList2.SelectedItem.Text 
        DataGrid1.DataBind()   
    End Sub           |