我的代码如下:
 Dim dstlxp As DataSet
    Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        '在此处放置初始化页的用户代码
        '将表type,lxp缓存到一个dataset中
        Dim sc As SqlConnection
        Dim dadlxp As SqlDataAdapter
        dstlxp = Cache("view_lxp")
        If dstlxp Is Nothing Then
            dstlxp = New DataSet
            sc = New SqlConnection("server=127.0.0.1;uid=sa;pwd=seven;database=vod")
            dadlxp = New SqlDataAdapter("select typeid,type from type", sc)
            sc.Open()
            dadlxp.Fill(dstlxp, "type")
            dadlxp.SelectCommand = New SqlCommand("select * from view_lxp", sc)
            dadlxp.Fill(dstlxp, "view_lxp")
            sc.Close()
            Cache("view_lxp") = dstlxp
        End If
        '如果非回传,则绑定dgrdtype值
        If Not IsPostBack Then
            dgrdtype.DataSource = dstlxp
            dgrdtype.DataMember = "type"
            dgrdtype.DataBind()
        End If
    End Sub    '选择了分类后,执行此子例程
    '为表lxp创建一个dataview,只显示此分类电影,绑定到dgrdlxp控件
    Sub dgrdtype_itemcommand(ByVal s As Object, ByVal e As DataListCommandEventArgs)        Dim dvwlxp As DataView
        Dim strtype
        dgrdtype.SelectedIndex = e.Item.ItemIndex
        strtype = dgrdtype.DataKeys(e.Item.ItemIndex)
        dvwlxp = dstlxp.Tables("view_lxp").DefaultView
        dvwlxp.RowFilter = "type='" & strtype & "'"
        dgrdlxp.DataSource = dvwlxp
        dgrdlxp.DataBind()
End Sub
    Sub dgrdlxp_pageindexchanged(ByVal s As Object, ByVal e As DataGridPageChangedEventArgs)
        dgrdlxp.CurrentPageIndex = e.NewPageIndex
        dgrdlxp.DataBind()
    End Sub
缓存过滤一切运行正常
但当我点击了分页的页码后,绑定的值为空了,是怎么回事啊

解决方案 »

  1.   

    Sub dgrdlxp_pageindexchanged(ByVal s As Object, ByVal e As DataGridPageChangedEventArgs)
            dgrdlxp.CurrentPageIndex = e.NewPageIndex
            dgrdlxp.DataBind()
        End Sub在点击分页的页码时,执行dgrdlxp.databind()的重新邦定
    但是dgrdlxp.databind()并非我所定义的一个邦定函数,所以没有执行Sub dgrdtype_itemcommand(ByVal s As Object, ByVal e As DataListCommandEventArgs)        Dim dvwlxp As DataView
            Dim strtype
            dgrdtype.SelectedIndex = e.Item.ItemIndex
            strtype = dgrdtype.DataKeys(e.Item.ItemIndex)
            dvwlxp = dstlxp.Tables("view_lxp").DefaultView
            dvwlxp.RowFilter = "type='" & strtype & "'"
            dgrdlxp.DataSource = dvwlxp
            dgrdlxp.DataBind()
    End Sub我现在的问题就是如何在点击了页码之后能执行
    Sub dgrdtype_itemcommand(ByVal s As Object, ByVal e As DataListCommandEventArgs)这个例程????
      

  2.   

    select corpname from corp,job where corp.corpid=job.corpid group by corpid order by max(viewcount)
      

  3.   

    我是否要将过滤的dataview表也放在缓存中,每次点击条目的时候再将他释放?