重新绑定Gridview中的数据以显示50和更高而不是1和更高

时间:2013-12-22 01:15:31

标签: asp.net vb.net gridview

如何在Gridview中重新绑定数据以显示50和更高而不是1和更高。

从1开始:

    Dim connStr, cmdStr As String
    Dim myDataSet As New DataSet
    Dim dt As New DataTable()
    connStr = "connection string works"
    cmdStr = "SELECT * FROM table1;"
    Try
        Using conn As New SqlConnection(connStr)
            Using cmd As New SqlCommand(cmdStr, conn)
                conn.Open()
                cmd.ExecuteNonQuery()
                Using myDataAdapter As New SqlDataAdapter(cmd)
                    myDataAdapter.Fill(myDataSet)
                    dt = myDataSet.Tables(0)
                    GridView1.DataSource = dt
                    GridView1.DataBind()
                End Using
                conn.Close()
                cmd.Dispose()
                conn.Dispose()
            End Using
        End Using
    Catch ex As Exception

    End Try

从50岁开始需要更改什么?

2 个答案:

答案 0 :(得分:0)

让你的DataTable成为一个可枚举的对象,然后使用LINQ的.Skip()函数来超越前50个项目,如下所示:

Dim filteredSet = dt.AsEnumerable().Skip(50)

现在将filteredSet而不是dt绑定到网格视图,如下所示:

GridView1.DataSource = filteredSet
GridView1.DataBind()

答案 1 :(得分:0)

我认为最有效的选择是不使用参数化查询从数据库中选择数据,其中传递某种类型的起始值,查询仅选择此点之后发生的数据。

另一个选项,只需对代码进行少量调整即可简单地从DataTable中删除行,如下所示:

' remove the first 50 rows
For x As Integer = 1 To 50
    dt.Rows.RemoveAt(0)
Next