我在gridview上显示数据:
SQL = "SELECT * FROM MEN ";
dsView = new DataSet();
adp = new SqlDataAdapter(SQL, Conn);
adp.Fill(dsView, "MEN");
adp.Dispose();
GridView1.DataSource = dsView.Tables["MEN"];
GridView1.DataBind();
但我在列表中看到......
如何显示每次只有10行?
我在asp.net和C#上工作
答案 0 :(得分:2)
是的,使用分页数据网格。这是一种更好的做法。
编辑: <asp:DataGrid ID="DataGrid1" AllowPaging="True" />
在允许分页到datagrid之后,你需要做这样的事情......
private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
DataGrid1.CurrentPageIndex = e.NewPageIndex;
DataGrid1.DataBind();
}
查看datagrids的示例here。
答案 1 :(得分:0)
您可以添加LIMIT 10
仅显示10行。
LIMIT 30, 10
将显示10行,从第30行开始。
答案 2 :(得分:0)
1) 您也可以使用存储过程来实现此目的,有关详细信息,请参阅here。 RowNumber在SQL Server中扮演了神奇的角色,我不确定Oracle或其他数据库是否存在RowNumber。
CREATE PROCEDURE [dbo].[sp_getzipcodes]
@start int = 0
AS
BEGIN
Set NOCOUNT ON
SELECT TOP 20 * FROM
(
SELECT zip,city,state,latitude,longitude,timezone,dst,
ROW_NUMBER() OVER (ORDER BY zip) AS num
FROM dbo.zipcode
) AS a
WHERE num > @start
END
2)
您可以使用分页,只需在网格标记处设置以下属性,
AllowPaging="True" and PageSize="25".
AllowPaging:分页设置。 PageSize:显示页面上的记录数。
答案 3 :(得分:0)
我做了一篇关于Telerik RadGrid的自定义分页和排序的博客文章。这些概念对ASP GridView仍然有效。
http://dotnetblogger.com/post/2010/03/07/RadGrid-with-Custom-Paging-Sorting-Filtering.aspx
基本上你想为网格添加分页,你可能不希望从数据库中返回所有“*”。
分页将显着提高数据库性能和站点速度。相信我。