我定义了一个gridview控件mygridview,想进行分页,用的语句是:
myGridview.PagerSettings.Mode =PagerMode.NextPrev
为什么编译说无法将类型PagerMode转换成Pagerbutton.
本来是想用myGridview.PagerStyle.Mode的,但是却没有Mode属性,
为什么?
myGridview.PagerSettings.Mode =PagerMode.NextPrev
为什么编译说无法将类型PagerMode转换成Pagerbutton.
本来是想用myGridview.PagerStyle.Mode的,但是却没有Mode属性,
为什么?
操作如下:
1、更改GrdView控件的AllowPaging属性为true。
2、更改GrdView控件的PageSize属性为 任意数值(默认为10)
3、更改GrdView控件的PageSetting- >Mode为Numeric等(默认为Numeric)该属性为分页样式。
GridView属性设置好了,从页面上也能看到分页样式。 现在开始实现分页的功能:
1、在 < <asp:GridView ID=...... >后添加,OnPageIndexChanging= "GridView1_PageIndexChanging "
2、在对应的aspx.cs中添加:
protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
GridView1.PageIndex = e.NewPageIndex;
InitPage(); //重新绑定GridView数据的函数
}
3、
GridView1.PageIndex = e.NewPageIndex;
完了之后再重新绑定一下GridView。
sp:
///////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////
-- ================================================
-- Template generated from Template Explorer using:
-- Create Procedure (New Menu).SQL
--
-- Use the Specify Values for Template Parameters
-- command (Ctrl-Shift-M) to fill in the parameter
-- values below.
--
-- This block of comments will not be included in
-- the definition of the procedure.
-- ================================================
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE testt
-- Add the parameters for the stored procedure here
@CurrentPage int ,
@PageSize int AS -- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements. Declare @ID int
Declare @MoveRecords int
SET NOCOUNT ON;
-- Insert statements for procedure here
Set @MoveRecords=@CurrentPage * @PageSize+1
Set Rowcount @MoveRecords
Select @ID=nindex from dbo.summary Order by nindex
Set Rowcount @PageSizeSelect * From dbo.summary Where nindex>=@ID Order By nindex asc
Set Rowcount 0
GO
///////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////
demo source
///////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////// SqlConnection conn = new SqlConnection(@"Data Source=.\sqlexpress;Initial Catalog=hardes;Integrated Security=True");
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "testt"; int CurrentPage = 0;
int PageSize = 10;
bool flag = true; while (flag)
{
cmd.Parameters.Clear();
SqlParameter para = new SqlParameter("@CurrentPage", SqlDbType.Int);
para.Value = CurrentPage;
cmd.Parameters.Add(para);
para = new SqlParameter("@PageSize", SqlDbType.Int);
para.Value = PageSize;
cmd.Parameters.Add(para);
SqlDataReader reader = cmd.ExecuteReader();
if (reader.HasRows)
{
Console.WriteLine("Page:" + CurrentPage.ToString());
while (reader.Read())
{
Console.WriteLine("\t"+reader["nindex"].ToString());
}
reader.Close();
CurrentPage++;
}
else
flag = false;
reader.Dispose();
Console.ReadKey();
}
cmd.Dispose();
conn.Close();
conn.Dispose(); Console.ReadKey();