//html代码
<asp:datagrid id="DataGrid2" runat="server" Width="320px" AutoGenerateColumns="False" ShowHeader="False"
GridLines="None" AllowCustomPaging="True" PageSize="2" AllowPaging="True" OnPageIndexChanged="DataGrid2_Page">//该事件好象一直没触发义
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<IMG src="/liu/images/arrow.gif">
</ItemTemplate>
</asp:TemplateColumn>
<asp:HyperLinkColumn Target="_parent" DataNavigateUrlField="pid" DataNavigateUrlFormatString="pshowdetail.aspx?id={0}"
DataTextField="ptitle"></asp:HyperLinkColumn>
<asp:TemplateColumn>
<ItemTemplate>
[
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="ptime" DataFormatString="{0:d}"></asp:BoundColumn>
<asp:BoundColumn DataField="phit"></asp:BoundColumn>
<asp:TemplateColumn>
<ItemTemplate>
<font color="#33ff00">次</font>]
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
<PagerStyle Mode="NumericPages"></PagerStyle>
</asp:datagrid>
//page_load()
if(!this.Page.IsPostBack)
{
this.toptitle.Text="<div align=center><b>查询结果如下:</b></div>";
this.filldate(gj,lx);
this.DataGrid2.VirtualItemCount=((DataTable)this.Session["searchtable"]).Rows.Count;
this.Response.Write(this.DataGrid2.VirtualItemCount);
this.BindGrid();
}
//分页事件
protected void DataGrid2_Page(Object sender,DataGridPageChangedEventArgs e)
{
this.DataGrid2.CurrentPageIndex = e.NewPageIndex;
startIndex = this.DataGrid2.CurrentPageIndex * this.DataGrid2.PageSize;
BindGrid();
}
//绑定
private void BindGrid()
{
this.DataGrid2.DataSource = CreateDataSource();
this.DataGrid2.DataBind();
}
//设计器支持所需的方法
private void InitializeComponent()
{ this.DataGrid2.PageIndexChanged+=new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.DataGrid2_Page);
this.Load += new System.EventHandler(this.Page_Load); }
<asp:datagrid id="DataGrid2" runat="server" Width="320px" AutoGenerateColumns="False" ShowHeader="False"
GridLines="None" AllowCustomPaging="True" PageSize="2" AllowPaging="True" OnPageIndexChanged="DataGrid2_Page">//该事件好象一直没触发义
<Columns>
<asp:TemplateColumn>
<ItemTemplate>
<IMG src="/liu/images/arrow.gif">
</ItemTemplate>
</asp:TemplateColumn>
<asp:HyperLinkColumn Target="_parent" DataNavigateUrlField="pid" DataNavigateUrlFormatString="pshowdetail.aspx?id={0}"
DataTextField="ptitle"></asp:HyperLinkColumn>
<asp:TemplateColumn>
<ItemTemplate>
[
</ItemTemplate>
</asp:TemplateColumn>
<asp:BoundColumn DataField="ptime" DataFormatString="{0:d}"></asp:BoundColumn>
<asp:BoundColumn DataField="phit"></asp:BoundColumn>
<asp:TemplateColumn>
<ItemTemplate>
<font color="#33ff00">次</font>]
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
<PagerStyle Mode="NumericPages"></PagerStyle>
</asp:datagrid>
//page_load()
if(!this.Page.IsPostBack)
{
this.toptitle.Text="<div align=center><b>查询结果如下:</b></div>";
this.filldate(gj,lx);
this.DataGrid2.VirtualItemCount=((DataTable)this.Session["searchtable"]).Rows.Count;
this.Response.Write(this.DataGrid2.VirtualItemCount);
this.BindGrid();
}
//分页事件
protected void DataGrid2_Page(Object sender,DataGridPageChangedEventArgs e)
{
this.DataGrid2.CurrentPageIndex = e.NewPageIndex;
startIndex = this.DataGrid2.CurrentPageIndex * this.DataGrid2.PageSize;
BindGrid();
}
//绑定
private void BindGrid()
{
this.DataGrid2.DataSource = CreateDataSource();
this.DataGrid2.DataBind();
}
//设计器支持所需的方法
private void InitializeComponent()
{ this.DataGrid2.PageIndexChanged+=new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.DataGrid2_Page);
this.Load += new System.EventHandler(this.Page_Load); }
解决方案 »
- 新浪HtmlEditor在线编辑器怎么使用呀
- 数据库int类型字段在条件语句里如何表达所有?
- 怎么在DataGrid最下面一行和最右边一行加个汇总行?或者用sql语句能实现吗?请高手指点!asp.net (C#)
- gridview 取值问题
- 谁能给了权限管理模块源码学习一下
- 请教高手(DotNet2):怎样使DataList容器中的DropDownList(AutoPostBack="true")PostBack后保留所选的值呢?
- 关于:SqlDataReader?
- 为什么是这样的呢
- 如何设置一个COOKIE ?
- MVC,不使用submit,如果在表单不合法时,不执行功能
- 如何为GridView自带的分页按钮添加CSS样式属性
- 一个类似购物车的东西(跪求啊~)不会做啊~
protected void grdVendors_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
gridView.PageIndex = e.NewPageIndex;
gridView.DataSource = datasurce;
gridView.DataBind();
}
http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/cpref/html/frlrfsystemwebuiwebcontrolsdatagridclassallowcustompagingtopic.asp
//将Datareader内容写入datatable
private void filldate(string gj,string lx)
{
DataTable dt=new DataTable();
dt.Columns.Add(new DataColumn("pid", typeof(Int32)));
dt.Columns.Add(new DataColumn("ptitle",typeof(string)));
dt.Columns.Add(new DataColumn("ptime",typeof(string)));
dt.Columns.Add(new DataColumn("phit", typeof(Int32)));
sdr=tool.psearch(gj,lx,"psearch");//sdr是通过Datareader读取数据
while(sdr.Read())
{
DataRow dr=dt.NewRow();
dr[0]=Int32.Parse(sdr["pid"].ToString());
dr[1]=sdr["ptitle"].ToString();
dr[2]=Convert.ToDateTime(sdr["ptime"].ToString());
dr[3]=Int32.Parse(sdr["phit"].ToString());
dt.Rows.Add(dr);
}
sdr.Close();
this.Session["searchtable"]=dt;
}
//创建数据源
private ICollection CreateDataSource()
{
DataRow dr;
DataTable dtnew=new DataTable("currenttable");
DataTable dt=(DataTable)this.Session["searchtable"];
dtnew=dt.Copy();
for (int i = startIndex; i < (startIndex + this.DataGrid2.PageSize); i++)
{
dr = dtnew.NewRow();
dr[0] = Int32.Parse(dt.Rows[i][0].ToString());
dr[1] = dt.Rows[i][1].ToString();
dr[2] = Convert.ToDateTime(dt.Rows[i][2].ToString());
dr[3] = Int32.Parse(dt.Rows[i][3].ToString());
dtnew.Rows.Add(dr);
}
DataView dv = new DataView(dtnew);
return dv;
}
看看这个
if(this.Page.IsPostBack)
{
for(int i=0;i<dtnew.Rows.Count;i++)
{
dtnew.Rows.Remove(dtnew.Rows[i]);
dtnew.Rows.Clear();
dtnew.Dispose();
}
}