DataGrid 自定义分页
private void showall()
{
SqlConnection con = new SqlConnection("server=.;database=***;uid=sa;pwd=sa");
DataSet ds = new DataSet();
SqlDataAdapter ada = new SqlDataAdapter("select * from student ",con);
ada.Fill(ds);
DataGrid.DataSource=ds;
DataGrid.DataBind();
}
private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
DataGrid1.CurrentPageIndex = e.NewPageIndex;
DataGrid1.DataBind();
showall();
}
自定义分页
存储过程学的
CREATE PROCEDURE [GetCustmoersDataPage]
@PageIndex Int,
@PageSize Int,
@RecordCount int Out,
@PageCount Int Out
AS
SELECT @RecordCount = Count(*) FROM TABLE1
SET @PageCount = CEILING(@RecordCount/@PageSize)
DECLARE @SQLSTR NVARCHAR(1000)
IF @PageIndex = 0 OR @PageCount < =1
SET @SQLSTR = N'SELECT TOP'+STR(@PageSize)+'TABLE1.* FROM TABLE1 ORDER BY id DESC'
ELSE IF @PageIndex = @PageCount - 1
SET @SQLSTR = N'SELECT * FROM(SELECT TOP'+STR(@RecordCount - @PageSize*@PageIndex)+'TABLE1.*FROM TABLE1 ORDER BY id ASC)TempTable ORDER BY id DESC'
ELSE
SET @SQLSTR =N' SELECT TOP '+STR( @PageSize )+' * FROM ( SELECT TOP '+STR( @RecordCount - @PageSize * @PageIndex )+
' TABLE1.* FROM TABLE1 ORDER BY id ASC ) TempTable ORDER BY id DESC'
EXEC (@SQLSTR)
GO