datagrid()_propertygrid控件

datagrid()_propertygrid控件鉴于在本版收到好多asp.net初学者因为不了解ItemDataBound事件的用法而提出问题,特写此实例教程,以飨众友。实例:现要把如下的数据集(在查询管理器的查出来的结果集)绑定到DataGrid:绑定结果为——然而现在要实现如下效果:一、第一列的产品名是一个链接,它要求链接目标为:prod.aspx?name={产品名称}&spec={产品规格}二、当产品单价>=1元时,将其单价显示为红

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

鉴于在本版收到好多asp.net初学者因为不了解ItemDataBound事件的用法而提出问题,特写此实例教程,以飨众友。

实例:现要把如下的数据集(在查询管理器的查出来的结果集)绑定到DataGrid:


datagrid()_propertygrid控件

绑定结果为——


datagrid()_propertygrid控件

然而现在要实现如下效果:

一、第一列的产品名是一个链接,它要求链接目标为:

prod.aspx?name={产品名称}&spec={产品规格}

二、当产品单价>=1元时,将其单价显示为红色;

三、当产品单价为0时,将其整行的背景显示为黄色;

结果如下图:


datagrid()_propertygrid控件

回想我们以前用ASP编程的时候,对于要生成数据页面的做法,我们是事必亲躬地为生成的每一行表格编写HTML代码,可是我遇到好多初学.net的人抱怨,.net中的Datagrid使数据页面的生成变得非常方便,但是对于特殊要求却无能为力。

其实并非如此,对于asp中能实现的效果,asp.net中照样能够非常方便地实现,针对上述要求,只需为DataGrid的ItemDataBound事件编写代码即可。

DataGrid每生成一行,都会执行ItemDataBound事件一次,从上图中看到,这个DataGrid共有12行(包括10数据行,一个页眉行,和一个分页行)。则这里ItemDataBound事件将会被执行12次。而事件中的e参数的e.Item.ItemType则可用于判断当前正在绑定的行是什么行,它是一个枚举,见下图:


datagrid()_propertygrid控件

(注:在DataGrid的属性生成器中,第一列为超级链接列,而且不必填写“Url字段”和“Url格式字符串”两个属性值)

当然,我们无需理会生成页眉和分页行的情况,但当绑定数据集的行时,该行有可能是普通数据行、替换行、选定行、处于编辑状态的行。

参数e的e.item指向当前正在绑定的行
而e.item.cells集合指向当前正在绑定的行的每一个单元格。


由此,我们已给能够为上述要求编写代码了——

Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound

Select Case e.Item.ItemType

Case ListItemType.AlternatingItem, ListItemType.EditItem, ListItemType.Item, ListItemType.SelectedItem

Dim drv As DataRowView = e.Item.DataItem

Dim hlk As HyperLink = e.Item.Cells(0).Controls(0)

hlk.NavigateUrl = “prod.aspx?name=” & drv(“prod_name”) & “&spec=” & drv(“prod_spec”)

If drv(“price”) >= 1 Then

e.Item.Cells(2).ForeColor = Color.Red

End If

If drv(“price”) = 0 Then

e.Item.BackColor = Color.Yellow

End If

End Select

End Sub

由于程序简单,所以这里不再提供C#的代码。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182317.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 避免在移动端页面中使用100vh

    避免在移动端页面中使用100vh100vh带来的问题在CSS中,视口单位(Viewportunits)听起来不错。如果要设置一个元素的样式使它占据整个屏幕的高度,那么你可以设置height:100vh,这样你就拥有一个完美的全屏元素,该元素会随着视口的变化而调整大小!可惜的是,事实并非如此。100vh在移动浏览器中以一种微妙但基本的方式被破坏,使其几乎无用。最好避免使用100vh,而应该通过javascript设置高度的方…

    2022年5月1日
    45
  • python strip()函数

    python strip()函数函数原型声明:s为字符串,rm为要删除的字符序列s.strip(rm)删除s字符串中开头、结尾处,位于rm删除序列的字符s.lstrip(rm)删除s字符串中开头处,位于rm删除序列的字符s.rs

    2022年7月5日
    21
  • 强化学习 模仿学习 于robot[通俗易懂]

    强化学习 模仿学习 于robot[通俗易懂]写在前面:分享知识是再好不过的事情。这篇文章主要是总结自己最近看的一些文章以及相关知识。自己在暑假实习的时候学习的就是在物理仿真平台上做robot的强化学习,未来读PhD的时候也被老师继续分配到了这个方向,哈哈。可能要一直从入门到入土了,趁着最近写researchproposal的时候,将最近的理解记录一下。鉴于笔者知识水平有限,若有不妥当之处,还请指出。摘要:robot强化学习模仿学…

    2022年9月19日
    1
  • html表单代码有哪些,HTML常用代码有哪些「建议收藏」

    html表单代码有哪些,HTML常用代码有哪些「建议收藏」HTML常用代码有哪些?网页的描述,关键字,作者及其他元素:metaname=””content=””客户端脚本:window.alert(”);文档的样式信息:引进图片:imgsrc换行:br超级链接:aherf新的页面打开:target=”_blank”无序列表:有序列表:表格的页眉:thead表格的主题:tbody定义表格的页脚:tfood定义表格:table边框:border单元…

    2022年8月11日
    8
  • Java关键字(50个)(超详细!)[通俗易懂]

    Java关键字(50个)(超详细!)[通俗易懂]关键字大致含义abstract表明类或者成员方法具有抽象属性assert断言,用来进行程序调试boolean基本数据类型之一,声明布尔类型的关键字break提前跳出一个块byte基本数据类型之一,字节类型case用在switch语句之中,表示其中的一个分支…

    2022年7月8日
    24
  • it创业怎么起步_典型it项目有哪些

    it创业怎么起步_典型it项目有哪些之前是一个想法,现在已经进入创业阶段,所以这个系列的标题,改了。众筹的事在今天也停止了。7-9号会在深圳龙岗布吉参加一个风投对接的活动,今晚(6号)会出发。因为:在深圳会呆几天,而且这个会估计有很多内

    2022年8月5日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号