我用VS.net中用datagrid作一个简单的新闻列表。用自代的分页功能。但是行,点击份页连接没有反应。
cs代码:
void Page_Load(Object sender, EventArgs E ) 
{
  string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source=";                   strConnection+=Server.MapPath("../DB/art_db.mdb"); 
  OleDbConnection objConnection=new OleDbConnection(strConnection); 
  OleDbDataAdapter objDataAdapter=new OleDbDataAdapter("select * from news",objConnection); 
  DataSet objDataSet=new DataSet(); 
  objDataAdapter.Fill(objDataSet); 
  dgrdMain.DataSource=objDataSet; 
  dgrdMain.DataBind(); 
}
void dgrdMain_PageIndexChanged(Object sender, DataGridPageChangedEventArgs e) 

  dgrdMain.CurrentPageIndex = e.NewPageIndex; 
  DataBind(); 

aspx代码:
<form id="Form1" method="post" runat="server">
<asp:DataGrid id="dgrdMain" style="Z-INDEX: 101; LEFT: 8px; POSITION: absolute; TOP: 8px" runat="server" PageSize="2" AllowPaging="True" AllowCustomPaging="True"></asp:DataGrid>
</form>

解决方案 »

  1.   

    AllowPaging="True" AllowCustomPaging="True"
    我使用的是DataGrid自代的分页功能。
    上面的代码在记事本中编辑运行就好行
    <%@ Import namespace="System.Data"%>
    <%@ Import namespace="System.Data.OleDb"%>
    <script runat="server" language="c#"> 
      void Page_Load() 
      { 
      string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source="; 
      strConnection+=Server.MapPath("DB/art_db.mdb"); 
      OleDbConnection objConnection=new OleDbConnection(strConnection); 
      OleDbDataAdapter objDataAdapter=new OleDbDataAdapter("select * from news",objConnection); 
      DataSet objDataSet=new DataSet(); 
      objDataAdapter.Fill(objDataSet); 
      dgrdMain.DataSource=objDataSet; 
      dgrdMain.DataBind(); 
      } 
      void dgrdMain_PageIndexChanged(Object sender, DataGridPageChangedEventArgs e) 
      { 
      dgrdMain.CurrentPageIndex = e.NewPageIndex; 
      DataBind(); 
      } 
      </script> 
      <html> 
      <body> 
    <form runat=server>
      <asp:DataGrid id="dgrdMain" cellpadding="1" showheader="true" borderwidth="0" 
      allowpaging="true"
      pagesize="3"
      onpageindexchanged="dgrdMain_PageIndexChanged"
      runat="server" 
      /> 
    </form>
      </body> 
      </html> 
    但是放到vs中就不行;
      

  2.   

    using System.Data.Oledb
    protected System.web.ui.Webcontrol.DataGrid DataGrid1;
    别忘了添加DataGrid1的声明
      

  3.   

    我用的是vs自动生成了,
    protected System.Web.UI.WebControls.DataGrid MyDataGrid;
    继续求助
      

  4.   

    察看DataGrid的属性页的事件中,看看有没有PageIndexChanged事件。(可双击响应PageIndexChanged事件,产生委托)
    不响应的主要原因是委托没有关联执行。有时候委托是不认的,需要自己加进去。
    我以前也出现过这个问题。
      

  5.   

    加 了。但是只显示一页,下面的分野数字只显示1,并且无连接。
    <asp:DataGrid
      id="dgrdMain" 
      style="Z-INDEX: 101; LEFT: 8px; POSITION: absolute; TOP: 8px" 
      runat="server" 
      PageSize="2" 
      AllowPaging="True" 
      AllowCustomPaging="True" 
      PageIndexChanged="dgrdMain_PageIndexChanged"
    >
    <PagerStyle Mode="NumericPages"></PagerStyle>
    </asp:DataGrid>
      

  6.   

    去www.51js.com 的.net版看看有很多分页方法
      

  7.   

    在vs重做一下,有时候ms很霸道的 ,分段c代码一定好用的