一个方便的DataGrid页导航控件

分享于 

3分钟阅读

Web开发

  繁體

介绍

上次,我提交了一个网页控件来为网站配置 Web.Config 中的数据连接,这是很容易和方便的。 现在让我们来做一个最方便的DataGrid分页控件。 所涉及的步骤如下:

  • PagerPagerExt web控件拖放到网页中。
  • 在代码中将属性 ControlID 设置为 DataGrid ID,或者将它的设置为:

overrideprotectedvoid OnInit(EventArgs e)
{
 InitializeComponent();
 base.OnInit(e);
 this.Pager1.ControlID = this.DataGrid1.ID;
 this.PagerExt1.ControlID = this.DataGrid1.ID;
}
  • 编写数据绑定函数:
privatevoid BindGrid()
{
 try {
 this.DataGrid1.DataSource = 
 obj.GetDataSet(this.TextBox1.Text);
 this.DataGrid1.DataBind();
 // this is important for the show current // page number correctly.this.PagerExt1.Refresh(); 
 }
 catch {
 this.Page.RegisterStartupScript
 ("","<script>alert('Please check the sql" + 
 "cmd or wbe.config');</script>");
 }
}
  • 事件编码:
privatevoid Pager1_PagerClick(object sender, 
 System.EventArgs e)
{
 this.BindGrid();
}privatevoid PagerExt1_PageGoClick(object sender, 
 System.EventArgs e)
{
 this.BindGrid();
}

测试DataGrid页导航控件

如何执行
privatevoid Pager_Click(object sender, EventArgs e)
{
 if (this.Page.FindControl(this.ControlID) == null)
 return;
 String arg = ((LinkButton)sender).CommandArgument;
 try {
 switch(arg)
 {
 case"First":
 ((System.Web.UI.WebControls.DataGrid)this.
 Page.FindControl(this.ControlID)).CurrentPageIndex = 0;
 this.OnPagerCmd(e);
 break;
 case"Prev":
 if (((System.Web.UI.WebControls.DataGrid)this.
 Page.FindControl(this.ControlID)).CurrentPageIndex >0)
 ((System.Web.UI.WebControls.DataGrid)this.Page.
 FindControl(this.ControlID)).CurrentPageIndex --;
 this.OnPagerCmd(e);
 break;
 case"Next":
 if (((System.Web.UI.WebControls.DataGrid)this.
 Page.FindControl(this.ControlID)).CurrentPageIndex < 
 (((System.Web.UI.WebControls.DataGrid)this.
 Page.FindControl(this.ControlID)).PageCount - 1))
 ((System.Web.UI.WebControls.DataGrid)this.
 Page.FindControl(this.ControlID)).CurrentPageIndex ++;
 this.OnPagerCmd(e);
 break;
 case"Last":
 ((System.Web.UI.WebControls.DataGrid)this.
 Page.FindControl(this.ControlID)).CurrentPageIndex = 
 ((System.Web.UI.WebControls.DataGrid)this.
 Page.FindControl(this.ControlID)).PageCount - 1;
 this.OnPagerCmd(e);
 break;
 }
 }
 catch {
 return;
 }
}

数据  控制  Datagrid  Pager  
相关文章