DataGrid的几个小技巧

简介: 删除时给出提示   方法一:使用模版列      我们在绑定好数据的DataGrid增加一个模版列,在列中放置一个按钮             然后我们在DataGrid的ItemDataBound中添加以下代码   switch(e.
删除时给出提示
  方法一:使用模版列
  
  我们在绑定好数据的DataGrid增加一个模版列,在列中放置一个按钮
  <asp:TemplateColumn>
  <ItemTemplate>
  <asp:Button id="btnDelete" runat="server" Text="删除"></asp:Button>
  </ItemTemplate>
  </asp:TemplateColumn>
  然后我们在DataGrid的ItemDataBound中添加以下代码
  switch(e.Item.ItemType)
  {
  case(ListItemType.Item):
  case(ListItemType.AlternatingItem):
  {
  Button btn=(Button)e.Item.FindControl("btnDelete");
  btn.Attributes.Add("OnClick","return window.confirm('fs')");
  break;
  }
  }
  DataGrid在绑定数据的时候将触发此事件,而且每行触发一次.我们可以通过e.Item获得行,而通过e.Item.ItemType获得行类型.
  
  方法二:使用按钮列
  
  我们在绑定好数据的DataGrid增加一个删除按钮列
  <asp:ButtonColumn Text="删除" CommandName="Delete"></asp:ButtonColumn>
  然后我们在DataGrid的ItemDataBound中添加以下代码
  switch(e.Item.ItemType)
  {
  case(ListItemType.Item):
  case(ListItemType.AlternatingItem):
  {
  LinkButton btn=(LinkButton)e.Item.Cells[4].Controls[0];
  btn.Attributes.Add("OnClick","return window.confirm('fs')");
  break;
  }
  }
  可以看到我们这里获得控件引用的方法有所不同,使用了e.Item.Cells[4].Controls[0],而没有使用e.Item.FindControl("btnDelete"),因为我
  
  
  们现在使用的是按钮列,不能对按钮列的按钮设置ID属性,而FindControl是通过ID来查找控件(当然我们也可以把前面的代码用
  
  
  e.Item.Cells[4].Controls[0]的代码来替换.).
  
  
  
  添加序号列
  绑定好一个DataGrid
  switch(e.Item.ItemType)
  {
  case(ListItemType.Item):
  case(ListItemType.AlternatingItem):
  {
  DataGridItem row=(DataGridItem)e.Item;
  TableCell cell=new TableCell();
  cell.Controls.Add(new LiteralControl((e.Item.ItemIndex+1).ToString()));
  row.Cells.AddAt(0,cell);
  break;
  }
  case(ListItemType.Header):
  {
  DataGridItem row=(DataGridItem)e.Item;
  TableCell cell=new TableCell();
  cell.Controls.Add(new LiteralControl("序号"));
  row.Cells.AddAt(0,cell);
  break;
  }
  }
  这里我们用到了e.Item.ItemIndex,获取来自 DataGrid 控件的 Items 集合的 DataGridItem 对象的索引.
  
  
  产生两行的标题行
  绑定好一个DataGrid,设置允许分页,设置页导航为上下型,一会我们将强制把上面的页导航更换成标题行.这里我想讲一下DataGrid的行构成
  最上面Pager,用来放置分页导航,然后是表头Header,接着是Item和AlternatingItem项目和交替项目(当然还有SelectedItem选中项和EditItem
  
  
  编辑项等),然后是Footer表脚,最下面还有一个Pager.因为Pager行是系统自动产生的,所以在ItemDataBound事件中不能捕获此行,这里我使用了
  
  
  ItemCreated事件,添加代码如下
  switch(e.Item.ItemType)
  {
  case(ListItemType.Pager):
  {
  if(first)
  {
  DataGridItem row=(DataGridItem)e.Item;
  row.Cells.Clear();
  TableCell cell0=new TableCell();
  cell0.Controls.Add(new LiteralControl("ID"));
  TableCell cell1=new TableCell();
  cell1.ColumnSpan=2;
  cell1.Controls.Add(new LiteralControl("FullName"));
  row.Cells.Add(cell0);
  row.Cells.Add(cell1);
  }
  first=!first;
  break;
  }
  }
  这里的First用来判断是上面的Pager还是下面的Pager.
目录
相关文章
|
网络架构
Internet的主要特点和结构组成
Internet是通信、计算机和计算机网络技术相结合的产物。是目前世界上最大的互联网络,几乎覆盖了整个世界,涵盖各种局域网技术和广域网技术,并具有以下显著特点。
1931 2
|
芯片
通用译码器
二——十进制译码器也称BCD译码器,它的功能是将输入的BCD码(4位二级制码)译成对应的10个十进制输出信号,因此也称4线——10线译码器。常用的二——十进制集成译码器型号有74LS42、T1042、T4042等。
2114 0
通用译码器
|
10月前
|
人工智能 程序员 数据库
AI客服会完全替代人工客服吗
本文介绍了AI客服的应用和发展,包括作者亲身搭建AI客服的经历,以及AI客服在提供24小时服务、快速响应客户需求、精准回答问题等方面的优势。文中还提到了构建AI总结助手、客户对话分析和智能导购助手的具体应用场景,展示了AI客服在提高工作效率、降低成本和优化用户体验方面的潜力。最后,文章讨论了AI客服替代人工客服的可能性及其局限性,强调应结合两者优势共同提升服务质量。
|
12月前
|
监控 自动驾驶 5G
|
12月前
|
前端开发 开发者 UED
UI 框架:nav-ui&uni-ui&vant
本文档介绍了`nav-ui`、`uni-ui`和`vant`三个UI库的基本使用方法,包括图标、表格和树的使用示例,以及如何在项目中安装和配置这些UI组件。对于`nav-ui`,详细说明了图标组件的安装与使用,包括本地图标和第三方图标库的集成方式。`uni-ui`部分则重点讲解了CSS的使用方法。最后,`vant`部分提供了从项目创建到组件安装的具体步骤,以及如何将下载的组件正确地集成到项目中。
487 4
|
12月前
|
存储 关系型数据库 MySQL
Mysql的LSN是什么?
LSN(Log Sequence Number,日志序列号)是一种用于标识事务日志中每个操作的递增数字。它有助于记录日志位置、支持崩溃恢复及检查点机制。通过 `SHOW ENGINE INNODB STATUS;` 可查看LSN,其作用包括记录日志位置、支持崩溃恢复、更新检查点以及追踪数据文件状态。
608 1
Mysql的LSN是什么?
|
12月前
|
人工智能 人机交互 智能硬件
从大模型的原理到提示词优化
本文介绍了大语言模型(LLM)的基本概念及其工作原理,重点探讨了AI提示词(Prompt)的重要性和几种有效技巧,包括角色设定、One-shot/Few-shot、任务拆解和思维链。通过实例解析,展示了如何利用这些技巧提升LLM的输出质量和准确性,强调了提供高质量上下文信息对优化LLM表现的关键作用。
833 0
|
存储 JSON 程序员
Python基础知识点总结
本文包括python基本知识:简单数据结构,数据结构类型(可变:列表,字典,集合,不可变:数值类型,字符串,元组),分支循环和控制流程,类和函数,文件处理和异常等等。
3413 2
Python基础知识点总结
|
消息中间件 存储 网络协议
基于 RocketMQ 的 MQTT 服务架构在小米的实践
本文整理自RocketMQ Summit 2022 全球开发者峰会。
基于 RocketMQ 的 MQTT 服务架构在小米的实践
西门子S7-200 SMART逻辑运算指令及应用实例
本篇我们来介绍一下西门子S7-200 SMART逻辑运算指令。S7-200 SMART逻辑运算指令按照操作类型可以分为四种:取反指令、逻辑与指令、逻辑或指令和逻辑异或指令。如下图所示,四列对应四种操作类型:
西门子S7-200 SMART逻辑运算指令及应用实例