GridView 批量删除,自定义分页,定位页码

本文介绍了一个使用ASP.NET GridView实现邮件列表批量删除和自定义分页功能的方法。通过前台和后台代码结合,实现了全选、删除、首页、上一页、下一页、尾页等操作,并且能够自动更新页面索引。

转自http://www.cnweblog.com/maomao2008/archive/2007/01/05/195167.html

GridView 批量删除,自定义分页,定位页码

gridview.gif
前台代码:
< table  width ="100%"  height ="20"  border ="1"  align ="center"  cellpadding ="0"  cellspacing ="0"  bordercolorlight ="#FFFFFF"  bordercolordark ="#E6E6E6"  bgcolor ="#FFFFFF" >  
< tr  bgcolor ="#FFFFFF" >  
< td  width ="7%"  align ="center" >  
< asp:CheckBox  ID ="cbAll"  runat ="server"  AutoPostBack ="True"  OnCheckedChanged ="cbAll_CheckedChanged"   /></ td >  
< td  width ="8%"  align ="center" >< img  src ="images/bz.gif"  width ="6"  height ="11" ></ td >  
< td  width ="9%"  align ="center" >< img  src ="images/mail.gif"  width ="14"  height ="11" ></ td >  
< td  width ="16%"  align ="center" > 发件人 </ td >  
< td  width ="39%"  align ="center" > 标题 </ td >  
< td  width ="21%"  align ="center" > 日期 </ td >  
</ tr ></ table >  

< asp:GridView  ID ="GridView1"  runat ="server"  AutoGenerateColumns ="False"  
BackColor
="White"  BorderColor ="#CC9966"  BorderWidth ="1px"  CellPadding ="4"  
DataKeyNames
="id"  HorizontalAlign ="Center"  
Width
="100%"  BorderStyle ="None"  ShowHeader ="False"  AllowPaging ="True"  OnDataBound ="GridView1_DataBound" >  

< FooterStyle  BackColor ="#FFFFCC"  ForeColor ="#330099"   />  
< Columns >  
< asp:TemplateField  >  
< ItemStyle  HorizontalAlign ="Center"   />  
< ItemTemplate >  
< asp:CheckBox  ID =cb  runat =server  />  
</ ItemTemplate >  
</ asp:TemplateField >  
< asp:ImageField  HeaderImageUrl ="images/bz.gif" >  
< ItemStyle  Width ="8%"   />  
</ asp:ImageField >  
< asp:TemplateField  HeaderImageUrl ="images/mail.gif" >  
< ItemTemplate >  
< img  src =<%#  Eval("view").ToString() =="0"?"images/mailread.gif":"images/mail.gif"  % >  border=0 align=middle /> 
</ ItemTemplate >  
< ItemStyle  HorizontalAlign ="Center"  Width ="9%"   />  
</ asp:TemplateField >  
< asp:BoundField  DataField ="email"  HeaderText ="发件人" >  
< ItemStyle  Width ="16%"   />  
</ asp:BoundField >  
< asp:HyperLinkField  DataNavigateUrlFields ="id"  DataNavigateUrlFormatString ="viewmail.aspx?id={0}"  
DataTextField
="title"  HeaderText ="标题"   >  
< ItemStyle  Width ="39%"   />  
</ asp:HyperLinkField >  
< asp:BoundField  DataField ="date"  DataFormatString ="{0:d}"  HeaderText ="日期" >  
< ItemStyle  Width ="21%"   />  
</ asp:BoundField >  
</ Columns >  
< PagerTemplate >  

</ PagerTemplate >  
< SelectedRowStyle  BackColor ="#FFCC66"  ForeColor ="#663399"  Font-Bold ="True"   />  
< PagerStyle  BackColor ="#FFFFCC"  ForeColor ="#330099"  HorizontalAlign ="Center"   />  
< HeaderStyle  BackColor ="#990000"  Font-Bold ="True"  ForeColor ="#FFFFCC"   />  
< RowStyle  BackColor ="White"  ForeColor ="#330099"   />  
</ asp:GridView >  
< table  width ="100%"  height ="20"  border ="1"  cellpadding ="0"  cellspacing ="0"  bordercolorlight ="#FFFFFF"  bordercolordark ="#E6E6E6"  bgcolor ="#FFFFFF" >  
< tr >< td >  
< asp:Button  ID ="Button1"  runat ="server"  Text ="全选"  OnClick ="Button1_Click"   /> &nbsp;  
< asp:Button  ID ="Button2"  runat ="server"  Text ="删除"  OnClick ="Button2_Click"   /></ td >  
< td  align =right >  
< asp:LinkButton  ID ="lnkbtnFrist"  runat ="server"  OnClick ="lnkbtnFrist_Click" > 首页 </ asp:LinkButton >  
< asp:LinkButton  ID ="lnkbtnPre"  runat ="server"  OnClick ="lnkbtnPre_Click" > 上一页 </ asp:LinkButton >  
< asp:Label  ID ="lblCurrentPage"  runat ="server" ></ asp:Label >  
< asp:LinkButton  ID ="lnkbtnNext"  runat ="server"  OnClick ="lnkbtnNext_Click" > 下一页 </ asp:LinkButton >  
< asp:LinkButton  ID ="lnkbtnLast"  runat ="server"  OnClick ="lnkbtnLast_Click" > 尾页 </ asp:LinkButton >  
跳转到第
< asp:DropDownList  ID ="ddlCurrentPage"  runat ="server"  AutoPostBack ="True"  OnSelectedIndexChanged ="DropDownList1_SelectedIndexChanged" >  
</ asp:DropDownList > </ td >  
</ tr ></ table >  
后台代码:
void  DataBinds() 

if (!opMail.ReceiveGetList(userid)) 

base.MessageBox(string.Empty, opMail.strErrMsg); 
}
 
else 

this.GridView1.DataSource = opMail.dataView; 
this.GridView1.DataBind(); 
}
 

this.ddlCurrentPage.Items.Clear(); 
for (int i = 1; i <= this.GridView1.PageCount; i++

this.ddlCurrentPage.Items.Add(i.ToString()); 
}
 
this.ddlCurrentPage.SelectedIndex = this.GridView1.PageIndex; 
}
 
// 全选checkbox 
protected   void  Button1_Click( object  sender, EventArgs e) 

foreach (GridViewRow row in GridView1.Rows) 

((CheckBox)row.Cells[
0].FindControl("cb")).Checked = true
}
 
}
 
// 删除所选 
protected   void  Button2_Click( object  sender, EventArgs e) 

for (int rowindex = 0; rowindex < this.GridView1.Rows.Count; rowindex++

if (((CheckBox)this.GridView1.Rows[rowindex].Cells[0].FindControl("cb")).Checked == true

//删除Convert.ToInt32(this.GridView1.DataKeys[rowindex].Value) 
if (!opMail.ReceiveDelete(Convert.ToInt32(this.GridView1.DataKeys[rowindex].Value))) 

base.MessageBox(string.Empty, opMail.strErrMsg); 
}
 
}
 
}
 
DataBinds(); 
}
 
protected   void  GridView1_PageIndexChanging( object  sender, GridViewPageEventArgs e) 

this.GridView1.PageIndex = e.NewPageIndex; 
DataBinds(); 
}
 
protected   void  cbAll_CheckedChanged( object  sender, EventArgs e) 

if (this.cbAll.Checked == true

foreach (GridViewRow row in GridView1.Rows) 

((CheckBox)row.Cells[
0].FindControl("cb")).Checked = true
}
 
}
 
else 

foreach (GridViewRow row in GridView1.Rows) 

((CheckBox)row.Cells[
0].FindControl("cb")).Checked = false
}
 
}
 
}
 
protected   void  DropDownList1_SelectedIndexChanged( object  sender, EventArgs e) 

this.GridView1.PageIndex = this.ddlCurrentPage.SelectedIndex; 
DataBinds(); 
}
 
protected   void  lnkbtnFrist_Click( object  sender, EventArgs e) 

this.GridView1.PageIndex = 0
DataBinds(); 
}
 
protected   void  lnkbtnPre_Click( object  sender, EventArgs e) 

if (this.GridView1.PageIndex > 0

this.GridView1.PageIndex = this.GridView1.PageIndex - 1
DataBinds(); 
}
 
}
 
protected   void  lnkbtnNext_Click( object  sender, EventArgs e) 

if (this.GridView1.PageIndex < this.GridView1.PageCount) 

this.GridView1.PageIndex = this.GridView1.PageIndex + 1
DataBinds(); 
}
 
}
 
protected   void  lnkbtnLast_Click( object  sender, EventArgs e) 

this.GridView1.PageIndex = this.GridView1.PageCount; 
DataBinds(); 
}
 
protected   void  GridView1_DataBound( object  sender, EventArgs e) 

this.lblCurrentPage.Text = string.Format("当前第{0}页/总共{1}页"this.GridView1.PageIndex + 1this.GridView1.PageCount); 
}

 
无界云图(开源在线图片编辑器源码)是由四川爱趣五科技推出的一款类似可画、创客贴、图怪兽的在线图片编辑器。该项目采用了React Hooks、Typescript、Vite、Leaferjs等主流技术进行开发,旨在提供一个开箱即用的图片编辑解决方案。项目采用 MIT 协议,可免费商用。 无界云图提供了一系列强大的图片编辑功能,包括但不限于: 素材管理:支持用户上传、删除批量管理素材。 操作便捷:提供右键菜单,支持撤销、重做、导出图层、删除、复制、剪切、锁定、上移一层、下移一层、置顶、置底等操作。 保存机制:支持定时保存,确保用户的工作不会丢失。 主题切换:提供黑白主题切换功能,满足不同用户的视觉偏好。 多语言支持:支持多种语言,方便全球用户使用。 快捷键操作:支持快捷键操作,提高工作效率。 产品特色 开箱即用:无界云图采用了先进的前端技术,用户无需进行复杂的配置即可直接使用。 免费商用:项目采用MIT协议,用户可以免费使用和商用,降低了使用成本。 技术文档齐全:提供了详细的技术文档,包括技术文档、插件开发文档和SDK使用文档,方便开发者进行二次开发和集成。 社区支持:提供了微信技术交流群,用户可以在群里进行技术交流和问题讨论。 环境要求 Node.js:需要安装Node.js环境,用于运行和打包项目。 Yarn:建议使用Yarn作为包管理工具,用于安装项目依赖。 安装使用 // 安装依赖 yarn install // 启动项目 yarn dev // 打包项目 yarn build 总结 无界云图是一款功能强大且易于使用的开源在线图片编辑器。它不仅提供了丰富的图片编辑功能,还支持免费商用,极大地降低了用户的使用成本。同时,详细的文档和活跃的社区支持也为开发者提供了便利的二次开发和集成条件。无论是个人用户还是企业用户,都可以通过无界云图轻
【无功优化】基于改进遗传算法的电力系统无功优化研究【IEEE30节点】(Matlab代码实现)内容概要:本文围绕“基于改进遗传算法的电力系统无功优化研究”,以IEEE30节点系统为仿真案例,利用Matlab代码实现改进遗传算法在电力系统无功优化中的应用。研究旨在通过优化发电机端电压、变压器变比和无功补偿装置等控制变量,降低系统网损、改善电压质量并提升运行稳定性。文中详细阐述了无功优化的数学模型构建、改进遗传算法的设计策略(如编码方式、适应度函数、交叉与变异操作的改进),并通过仿真结果验证了所提方法相较于传统遗传算法在收敛速度和优化效果上的优越性。; 适合人群:具备电力系统基础理论知识和一定Matlab编程能力的电气工程专业研究生、科研人员及从事电网优化运行的工程技术人员。; 使用场景及目标:①掌握电力系统无功优化的基本原理与数学建模方法;②学习遗传算法在电力系统优化问题中的具体应用与改进技巧;③通过复现Matlab代码,深入理解算法实现过程并用于学术研究或实际工程问题求解。; 阅读建议:建议读者结合电力系统分析基础知识,仔细研读优化模型的建立过程,并动手运行和调试所提供的Matlab代码,通过调整算法参数观察其对优化结果的影响,以加深对改进遗传算法性能的理解和掌握。
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值