如何在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岁开始需要更改什么?
答案 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