博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
步步为营 .NET三层架构解析 八、UI的设计(GridView的设计及其分页)
阅读量:6140 次
发布时间:2019-06-21

本文共 7294 字,大约阅读时间需要 24 分钟。

这次我们设计员工操作列表Custom.aspx和部门操作列表Departmant.aspx的设计.以及如何设计GridView的分页功能.

先调用BLL设计方法获取数据的List列表,转换成PagedDataSource,再设置PagedDataSource属性来实现分页功能.

先看Custom.aspx的设计:

删除
 
当前页码为:
  总页码为:
   
第一页
上一页
 
下一页
最后一页

现来看下Custom.aspx.cs的设计:

记在先加上:

using BLL;using Model;

然后再:

public partial class Custom : PageBase{    protected void Page_Load(object sender, EventArgs e)    {        if (!Page.IsPostBack)        {            //验证权限            IsAdmin();            BinData();        }    }    ///     /// 绑定数据    ///     private void BinData()    {        customSystem CustomSystem = new customSystem();        List
Customlist = new List
(); //调用BLL方法获取列表 Customlist = CustomSystem.GetCustom(); int curpage = Convert.ToInt32(this.labPage.Text); //设计分页 PagedDataSource ps = new PagedDataSource(); ps.DataSource = Customlist; ps.AllowPaging = true; //设置页面的条数 ps.PageSize = 16; ps.CurrentPageIndex = curpage - 1; this.lnkbtnUp.Enabled = true; this.lnkbtnNext.Enabled = true; this.lnkbtnBack.Enabled = true; this.lnkbtnOne.Enabled = true; if (curpage == 1) { this.lnkbtnOne.Enabled = false; this.lnkbtnUp.Enabled = false; } if (curpage == ps.PageCount) { this.lnkbtnNext.Enabled = false; this.lnkbtnBack.Enabled = false; } this.labBackPage.Text = Convert.ToString(ps.PageCount); //绑定数据源 gvCustom.DataSource = ps; gvCustom.DataBind(); } ///
/// 删除一条数据 /// ///
///
protected void GridView_RowDeleting(object sender, GridViewDeleteEventArgs e) { int nid = Int32.Parse(gvCustom.DataKeys[e.RowIndex].Value.ToString()); customSystem CustomSystem = new customSystem(); CustomSystem.Deletecustom(nid); BinData(); } ///
/// 第一页 /// ///
///
protected void lnkbtnOne_Click(object sender, EventArgs e) { this.labPage.Text = "1"; BinData(); } ///
/// 上一页 /// ///
///
protected void lnkbtnUp_Click(object sender, EventArgs e) { this.labPage.Text = Convert.ToString(Convert.ToInt32(this.labPage.Text) - 1); BinData(); } ///
/// 下一页 /// ///
///
protected void lnkbtnNext_Click(object sender, EventArgs e) { this.labPage.Text = Convert.ToString(Convert.ToInt32(this.labPage.Text) + 1); BinData(); } ///
/// 最后一页 /// ///
///
protected void lnkbtnBack_Click(object sender, EventArgs e) { this.labPage.Text = this.labBackPage.Text; BinData(); } ///
/// 跳转到增加页面 /// ///
///
protected void btnAddUser_Click(object sender, EventArgs e) { Response.Redirect("Register.aspx"); }}
再来看下Departmant.aspx的设计:
删除
 
当前页码为:
  总页码为:
   
第一页
上一页
 
下一页
最后一页
 

然后再看Departmant.aspx.cs的设计:

也一样要先加上:

using BLL;using Model;

然后再:

public partial class departmant : PageBase{    protected void Page_Load(object sender, EventArgs e)    {        if (!Page.IsPostBack)        {            //验证权限            IsAdmin();            BinData();        }    }    ///     /// 绑定数据    ///     private void BinData()    {        departmentSystem DepartmentSystem = new departmentSystem();        List
Departmentlist = new List
(); //调用BLL方法获取列表 Departmentlist = DepartmentSystem.GetDepartment(); int curpage = Convert.ToInt32(this.labPage.Text); //设计分页 PagedDataSource ps = new PagedDataSource(); ps.DataSource = Departmentlist; ps.AllowPaging = true; //设置页面的条数 ps.PageSize = 16; ps.CurrentPageIndex = curpage - 1; this.lnkbtnUp.Enabled = true; this.lnkbtnNext.Enabled = true; this.lnkbtnBack.Enabled = true; this.lnkbtnOne.Enabled = true; if (curpage == 1) { this.lnkbtnOne.Enabled = false; this.lnkbtnUp.Enabled = false; } if (curpage == ps.PageCount) { this.lnkbtnNext.Enabled = false; this.lnkbtnBack.Enabled = false; } this.labBackPage.Text = Convert.ToString(ps.PageCount); //绑定数据源 GridView1.DataSource = ps; GridView1.DataBind(); } ///
/// 删除一条数据 /// ///
///
protected void GridView_RowDeleting(object sender, GridViewDeleteEventArgs e) { int nid = Int32.Parse(GridView1.DataKeys[e.RowIndex].Value.ToString()); departmentSystem DepartmentSystem = new departmentSystem(); DepartmentSystem.Deletedepart(nid); BinData(); } ///
/// 第一页 /// ///
///
protected void lnkbtnOne_Click(object sender, EventArgs e) { this.labPage.Text = "1"; BinData(); } ///
/// 上一页 /// ///
///
protected void lnkbtnUp_Click(object sender, EventArgs e) { this.labPage.Text = Convert.ToString(Convert.ToInt32(this.labPage.Text) - 1); BinData(); } ///
/// 下一页 /// ///
///
protected void lnkbtnNext_Click(object sender, EventArgs e) { this.labPage.Text = Convert.ToString(Convert.ToInt32(this.labPage.Text) + 1); BinData(); } ///
/// 最后一页 /// ///
///
protected void lnkbtnBack_Click(object sender, EventArgs e) { this.labPage.Text = this.labBackPage.Text; BinData(); } ///
/// 跳转到增加页面 /// ///
///
protected void btnAddDepartment_Click(object sender, EventArgs e) { Response.Redirect("ADDdepart.aspx"); }}
到这里我们一个简单的三层架构的应用就设计完了,可能权限的设计有点薄弱,改天我再专门讲解下权限的设计,感谢大家一直以来对我关注和支持,同时也感谢大家的拍砖.

下次我会做下这个系列的导航出来,并公布源码.欢迎继续拍砖.

转载地址:http://igkya.baihongyu.com/

你可能感兴趣的文章
桂林游览3
查看>>
eclipse创建maven_web项目
查看>>
mysql不能远程访问
查看>>
python通信模块——zmq的安装(包括ubuntu更新源)
查看>>
Spring_AOP 记录系统关键操作日志用法
查看>>
25岁前你要学会放下的八样东西
查看>>
【电路】PADS建库细节
查看>>
wordpress学习笔记
查看>>
mysql 1449 : The user specified as a definer ('root'@'%') does not exist
查看>>
c#如何将子窗体显示到父窗体的容器(panel)控件中
查看>>
linux运维之docker交付篇
查看>>
find命令
查看>>
自己写的Dijkstra模板
查看>>
socket 网络连接基础
查看>>
stm32下载程序,拔了调试器不能运行程序解决方案
查看>>
python enumerate内置函数
查看>>
快速理解_.debounce方法
查看>>
HTML基础
查看>>
jvm参数调优
查看>>
IOS之网络数据下载和JSON解析
查看>>