读书人

ASP:DataGrid不能分页大家帮忙看看解

发布时间: 2012-01-29 21:39:32 作者: rapoo

ASP:DataGrid不能分页,大家帮忙看看
<%@ Page Language= "C# " Debug= "true " %>
<%@ Import Namespace= "System.Data " %>
<%@ Import Namespace= "System.Web.Security " %>
<%@ Import Namespace= "System.Data.OleDb " %>

<script language= "C# " runat=server>
void Page_Load()
{
string strConnection = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE= " + Server.MapPath( "local.mdb ") + "; ";
string strSQL = "SELECT * FROM MOBILE_CALL_TICKET_ZRY ";
DataSet objDataSet = new DataSet();
OleDbConnection objConnection = new OleDbConnection(strConnection);
OleDbDataAdapter objAdapter = new OleDbDataAdapter(strSQL, objConnection);
objAdapter.Fill(objDataSet, "Employees ");
DataView objDataView = new DataView(objDataSet.Tables[ "Employees "]);
dgNameList.DataSource=objDataView;
dgNameList.DataBind();
//Console.WriteLine(buffer);
}
</script>
<ASP:DataGrid id= "dgNameList " runat= "server "
style= "LEFT: 100px; POSITION: absolute; TOP: 300px; "
AllowPaging= "True "
PageSize= "2 "
PagerStyle-HorizontalAlign= "Right "
BorderColor= "black "
BorderWidth= "1 "
GridLines= "Both "
CellPadding= "3 "
CellSpacing= "0 "
Font-Name= "Verdana "
Font-Size= "8pt "
HeaderStyle-BackColor= "#aaaadd "
AlternatingItemStyle-BackColor= "#aaaadd "
PagerStyle-NextPageText= "下一页 "
PagerStyle-PrevPageText= "上一页 "
/>
无报错,能显示出表格,但是单击“下一页”无反应。请大家帮帮忙

[解决办法]
记得在this.dgNameList.CurrentPageIndex = e.NewPageIndex;后面加上
BindGrid();

重新绑定一下数据如

void BindGrid()
{
string strConnection = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE= " + Server.MapPath( "local.mdb ") + "; ";
string strSQL = "SELECT * FROM MOBILE_CALL_TICKET_ZRY ";
DataSet objDataSet = new DataSet();
OleDbConnection objConnection = new OleDbConnection(strConnection);
OleDbDataAdapter objAdapter = new OleDbDataAdapter(strSQL, objConnection);
objAdapter.Fill(objDataSet, "Employees ");
DataView objDataView = new DataView(objDataSet.Tables[ "Employees "]);
dgNameList.DataSource=objDataView;
dgNameList.DataBind();
}

[解决办法]
在PageIndexChanged里改变当前页:

dgNameList.CurrentPageIndex = e.NewPageIndex;
......然后,重新绑定
[解决办法]
<%@ Page Language= "C# " Debug= "true " %>
<%@ Import Namespace= "System.Data " %>
<%@ Import Namespace= "System.Web.Security " %>


<%@ Import Namespace= "System.Data.OleDb " %>

<script language= "C# " runat=server>
void BindGrid()
{
string strConnection = "PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE= " + Server.MapPath( "local.mdb ") + "; ";
string strSQL = "SELECT * FROM MOBILE_CALL_TICKET_ZRY ";
DataSet objDataSet = new DataSet();
OleDbConnection objConnection = new OleDbConnection(strConnection);
OleDbDataAdapter objAdapter = new OleDbDataAdapter(strSQL, objConnection);
objAdapter.Fill(objDataSet, "Employees ");
DataView objDataView = new DataView(objDataSet.Tables[ "Employees "]);
dgNameList.DataSource=objDataView;
dgNameList.DataBind();
}

void Page_Load()
{
if(!IsPostBack)
{
BindGrid();
}
}

void dgNameList_PageIndexChanged(object source, DataGridPageChangedEventArgs e)
{
dgNameList.CurrentPageIndex = e.NewPageIndex;
BindGrid();
}
</script>
<ASP:DataGrid id= "dgNameList " runat= "server "
style= "LEFT: 100px; POSITION: absolute; TOP: 300px; "
AllowPaging= "True "
PageSize= "2 "
PagerStyle-HorizontalAlign= "Right "
BorderColor= "black "
BorderWidth= "1 "
GridLines= "Both "
CellPadding= "3 "
CellSpacing= "0 "
Font-Name= "Verdana "
Font-Size= "8pt "
HeaderStyle-BackColor= "#aaaadd "
AlternatingItemStyle-BackColor= "#aaaadd "
PagerStyle-NextPageText= "下一页 "
PagerStyle-PrevPageText= "上一页 "
OnPageIndexChanged= "dgNameList_PageIndexChanged "
/>

读书人网 >asp.net

热点推荐