<asp:datagrid id="DataGrid1" runat="server" AutoGenerateColumns="False" Width="100%" Height="144px"
AllowPaging="True" PageSize="20">
<HeaderStyle BackColor="#005BB8"></HeaderStyle>
<Columns>
<asp:BoundColumn DataField="SoftName" HeaderText="文件名称"></asp:BoundColumn>
<asp:BoundColumn DataField="AttFileSize" HeaderText="文件太小"></asp:BoundColumn>
<asp:BoundColumn DataField="SoftMemo" HeaderText="文件说明"></asp:BoundColumn>

<asp:TemplateColumn HeaderText="是否显示">
 <ItemTemplate>
<%# DataBinder.Eval(Container.DataItem,"S_Flag").ToString()=="1"?"":"隐藏"%>
</ItemTemplate>
</asp:TemplateColumn>
<asp:TemplateColumn HeaderText="操作">
    <ItemTemplate>
<a href="SoftModify.aspx?AttID=<%# DataBinder.Eval(Container.DataItem,"AttID")%>">修改</a>&nbsp; &nbsp; &nbsp; <a href="SoftList.aspx?action=DEL&AttID=<%# DataBinder.Eval(Container.DataItem,"AttID")%>">删除</a>
</ItemTemplate>
</asp:TemplateColumn> </Columns>
<PagerStyle Mode="NumericPages"></PagerStyle>
</asp:datagrid>
部份后台cs代码:
private void Page_Load(object sender, System.EventArgs e)
{

DataTable dt = new DataTable();
dt = mn.DataListSoft(1);

//dt = System.Data.DataTable[result];
DataGrid1.DataSource = dt.DefaultView;
DataGrid1.DataBind();
}
private void DataGrid1_PageIndexChanged(object source, System.Web.UI.WebControls.DataGridPageChangedEventArgs e)
{
DataGrid1.CurrentPageIndex = e.NewPageIndex;
}

解决方案 »

  1.   

    DataGrid1.CurrentPageIndex = e.NewPageIndex;
    DataGrid1.DataBind();
    要重绑定的
      

  2.   

    看看InitializeComponent()方法里面是否有这句,如果没有,请加上:this.DataGrid1.PageIndexChanged += new System.Web.UI.WebControls.DataGridPageChangedEventHandler(this.DataGrid1_PageIndexChanged);
      

  3.   

    当新的页面载入的时候还需要重新绑定数据源
    DataGrid1.CurrentPageIndex = e.NewPageIndex;
    Bind();  //写成DataGrid1.DataBind();是错误的,这里的Bind()是自己写的关于读数据库内容的绑定