急,DataGrid分页问题!!请教各位!!
limop 2004-11-23 08:47:24 private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
BindGrid();
}
public void BindGrid()
{
conn.open();
DataSet dataSet1;
OleDbDataAdapter my=new OleDbDataAdapter("select * from guest",conn.dbconn);
dataSet1 = new DataSet ( ) ;
my.Fill (dataSet1, "guest" ) ;
//以SqlDataAdapter实例来填充本地DataSet数据集
DataView dataView1 = dataSet1.Tables [ "guest" ].DefaultView ;
DataGrid.DataSource = dataView1 ;
DataGrid.DataBind ( ) ;
// 在此处放置用户代码以初始化页面
conn.close();
ShowStats();
}
private void ShowStats()
{
lblCurrentIndex.Text = "第 " + (DataGrid.CurrentPageIndex + 1).ToString() + " 页";
lblPageCount.Text = "总共 " + DataGrid.PageCount.ToString() + " 页";
}
public void DataGrid_Page(object sender, DataGridPageChangedEventArgs e)
{
int startIndex ;
startIndex = DataGrid.CurrentPageIndex * DataGrid.PageSize;
DataGrid.CurrentPageIndex = e.NewPageIndex;
BindGrid();
ShowStats();
}
public void PagerButtonClick(object sender, EventArgs e)
{
string arg = ((LinkButton)sender).CommandArgument.ToString();
switch(arg)
{
case "next":
if (DataGrid.CurrentPageIndex < (DataGrid.PageCount - 1))
{
DataGrid.CurrentPageIndex += 1;
}
break;
case "prev":
if (DataGrid.CurrentPageIndex > 0)
{
DataGrid.CurrentPageIndex -= 1;
}
break;
case "last":
DataGrid.CurrentPageIndex = (DataGrid.PageCount - 1);
break;
default:
DataGrid.CurrentPageIndex = System.Convert.ToInt32(arg);
break;
}
BindGrid();
ShowStats();
}
以上是我从这个论坛拷贝的源文件改了改,除了能计算页数外,其他的都不行。比如单击某一页的时候没有反映,但是我用自带的分页工具就可以实现,是不是外加分页代码和自带的分页代码有冲突啊!
请教各位,有源文件吗?或帮我改一下上面的代码!!!多谢了。