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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mysql curdate current_date_utildate转sqldate

    mysql curdate current_date_utildate转sqldateMysql常用函数的汇总,可看下面文章https://www.cnblogs.com/poloyy/p/12890763.htmlcurdate的作用以字符串或数字形式使用该函数, 

    2022年8月6日
    3
  • kettle工具练习

    kettle工具练习一.抽取CSV文件csv.extract.csv中的数据保存至数据库extract中的数据表csv中。1.打开kettle工具创建一个转换csv_extract,并添加“CSV文件输入”控件,“表输出”控件及Hop跳连接线,用于实现CSV文件数据的抽取功能,具体效果如下图所示:2.配置CSV文件输入控件,具体操作如下图所示:获取字段…

    2022年10月17日
    0
  • Android手机的像素密度(dpi)计算

    Android手机的像素密度(dpi)计算(1)分辨率。分辨率就是手机屏幕的像素点数,一般描述成屏幕的“宽×高”,安卓手机屏幕常见的分辨率有480×800、720×1280、1080×1920等。720×1280表示此屏幕在宽度方向有720个像素,在高度方向有1280个像素。(2)屏幕大小。屏幕大小是手机对角线的物理尺寸,以英寸(inch)为单位。比如某某手机为“5寸大屏手机”,就是指对角线的尺寸,5寸×2.54厘米/寸=12.7厘米。…

    2022年5月29日
    45
  • HTTPS和HTTP的区别是什么?

    HTTPS和HTTP的区别是什么?

    2021年10月14日
    49
  • 工作流引擎 Activiti 教程(非常详细)

    工作流引擎 Activiti 教程(非常详细)更多内容关注微信公众号:fullstack888一、工作流介绍1.1概念工作流(Workflow),就是通过计算机对业务流程自动化执行管理。它主要解决的是“使在多个参与者之间按照某种预定义的规则自动进行传递文档、信息或任务的过程,从而实现某个预期的业务目标,或者促使此目标的实现”。1.2工作流系统一个软件系统中具有工作流的功能,我们把它称为工作流系统,一个系统中工作流…

    2022年7月21日
    36
  • Windows server 2003 ××× 配置

    Windows server 2003 ××× 配置

    2021年8月1日
    49

发表回复

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

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