to 如果不要存储过程支持 就在前面控制如何实现呢?用同样的语句去fill,加上参数即可,例如: http://blog.csdn.net/knight94/archive/2006/03/27/640008.aspx 提到的第一种方法。
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
如何在WinForm中对DataGrid进行分页显示
http://blog.csdn.net/knight94/archive/2006/03/23/635885.aspx
就在前面控制如何实现呢?用同样的语句去fill,加上参数即可,例如:
http://blog.csdn.net/knight94/archive/2006/03/27/640008.aspx
提到的第一种方法。
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
简单的很很很~~~