向 gridview 添加分页 asp.net
add pagination to gridview asp.net
我想要的是分页以清晰地查看数据。
这是我的 html gridview 代码:
<asp:gridview ID = "grid" runat="server" AllowPaging="true" OnPageIndexChanging="gdview_PageIndexChanging">
和后面的代码:
public static string cs = "Server=PAULO;Database=ShoppingCartDB;Integrated Security=true";
protected void Page_Load(object sender, EventArgs e)
{
if (Session["New"] != null)
{
if (!IsPostBack)
{
SqlConnection con = new SqlConnection(cs);
con.Open();
string sql = "SELECT * FROM CustomerDetails Where CustomerName = '" + Session["New"] +"'";
SqlDataAdapter da = new SqlDataAdapter(sql, con);
DataTable dt = new DataTable();
da.Fill(dt);
Label2.Text += Session["New"].ToString();
linkLogout.Visible = true;
//linkOrderHistory.Visible = true;
Label2.Visible = true;
linkViewProfile.Visible = true;
grid.DataSource = dt;
grid.DataBind();
}
}
}
private void CustomBindData()
{
SqlConnection con = new SqlConnection(cs);
con.Open();
string sql = "SELECT * FROM CustomerDetails Where CustomerName = '" + Session["New"] + "'";
SqlDataAdapter da = new SqlDataAdapter(sql, con);
DataTable dt = new DataTable();
da.Fill(dt);
}
protected void gdview_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
CustomBindData();
grid.PageIndex = e.NewPageIndex;
grid.DataBind();
}
不知何故,我的代码无法正常工作。它有页面,但是当我点击第 2 页时,没有显示任何数据。我认为这与我如何从 sql 获取数据有关。有什么技巧吗?
而不是这个
protected void gdview_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
grid.PageIndex = e.NewPageIndex;
grid.DataBind();
}
使用以下..在页面加载中将数据源存储到您用于 gridview 的会话中,然后执行以下操作,
Session[gridviewsouce] = dt; //dataTable which you were using in page_load
并在页面索引更改功能..
protected void gdview_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
grid.PageIndex = e.NewPageIndex;
DataTabel dt = Session[gridviewsouce] as DataTable;
grid.DataSource = dt;
grid.DataBind();
}
我添加了
private void CustomBindData()
{
SqlConnection con = new SqlConnection(cs);
con.Open();
string sql = "SELECT * FROM CustomerDetails Where CustomerName = '" + Session["New"] + "'";
SqlDataAdapter da = new SqlDataAdapter(sql, con);
DataTable dt = new DataTable();
da.Fill(dt);
grid.DataSource = dt;
grid.DataBind();
}
protected void gdview_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
CustomBindData();
grid.PageIndex = e.NewPageIndex;
grid.DataBind();
}
我想要的是分页以清晰地查看数据。 这是我的 html gridview 代码:
<asp:gridview ID = "grid" runat="server" AllowPaging="true" OnPageIndexChanging="gdview_PageIndexChanging">
和后面的代码:
public static string cs = "Server=PAULO;Database=ShoppingCartDB;Integrated Security=true";
protected void Page_Load(object sender, EventArgs e)
{
if (Session["New"] != null)
{
if (!IsPostBack)
{
SqlConnection con = new SqlConnection(cs);
con.Open();
string sql = "SELECT * FROM CustomerDetails Where CustomerName = '" + Session["New"] +"'";
SqlDataAdapter da = new SqlDataAdapter(sql, con);
DataTable dt = new DataTable();
da.Fill(dt);
Label2.Text += Session["New"].ToString();
linkLogout.Visible = true;
//linkOrderHistory.Visible = true;
Label2.Visible = true;
linkViewProfile.Visible = true;
grid.DataSource = dt;
grid.DataBind();
}
}
}
private void CustomBindData()
{
SqlConnection con = new SqlConnection(cs);
con.Open();
string sql = "SELECT * FROM CustomerDetails Where CustomerName = '" + Session["New"] + "'";
SqlDataAdapter da = new SqlDataAdapter(sql, con);
DataTable dt = new DataTable();
da.Fill(dt);
}
protected void gdview_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
CustomBindData();
grid.PageIndex = e.NewPageIndex;
grid.DataBind();
}
不知何故,我的代码无法正常工作。它有页面,但是当我点击第 2 页时,没有显示任何数据。我认为这与我如何从 sql 获取数据有关。有什么技巧吗?
而不是这个
protected void gdview_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
grid.PageIndex = e.NewPageIndex;
grid.DataBind();
}
使用以下..在页面加载中将数据源存储到您用于 gridview 的会话中,然后执行以下操作,
Session[gridviewsouce] = dt; //dataTable which you were using in page_load
并在页面索引更改功能..
protected void gdview_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
grid.PageIndex = e.NewPageIndex;
DataTabel dt = Session[gridviewsouce] as DataTable;
grid.DataSource = dt;
grid.DataBind();
}
我添加了
private void CustomBindData()
{
SqlConnection con = new SqlConnection(cs);
con.Open();
string sql = "SELECT * FROM CustomerDetails Where CustomerName = '" + Session["New"] + "'";
SqlDataAdapter da = new SqlDataAdapter(sql, con);
DataTable dt = new DataTable();
da.Fill(dt);
grid.DataSource = dt;
grid.DataBind();
}
protected void gdview_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
CustomBindData();
grid.PageIndex = e.NewPageIndex;
grid.DataBind();
}