ASP.NET GridView入门

ASP.NET GridView入门

基础知识

定义列

GridView.AutoGenerateColumns属性设置为true时,GridView使用反射来检查数据对象并找到所有字段或属性,接着它按发现的次序为它们逐个创建列

可以把AutoGenerateColumns设置为false,在<Columns>中定义列

列的类型可以是:

描述
BoundField 用于显示数据源字段的文本
ButtonField 为列表中每个项目显示一个按钮
CheckBoxField 为列表中的每个项目显示一个复选框。对应真/假字段(SQL Server中这种字段的数据类型为bit),自动使用该类型的列
HyperLinkField 用超链接的形式显示内容(数据源中的一个字段或者静态文本)
ImageField 显示二进制的图像数据
TemplateField 允许用自定义模板指定多个字段、自定义控件以及任意的HTML。

最基本的列类型是BoundField,它绑定到数据对象的某个字段上

格式化GridView

格式化字段

通过DataFormatString属性可以保证日期、货币或者其它数值以正确的格式显示
例如,设置如下的格式显示日期:

<asp:BoundField DataField="BirthDate" HeaderText="Bith Date" DataFormatString="{0:MM/dd/yyyy}" />

显示效果为:

这里写图片描述

样式

GridView样式的属性有:

  • 颜色,ForeColor、BackColor
  • 边框,BorderColor、BorderStyle、BorderWidth
  • 行的尺寸,Height、Width
  • 对齐,HorizontalAlign、VerticalAlign
样式 描述
HeaderStyle 显示标题列时(ShowHeader设置为true)配置包含列标题的标题行的外观
RowStyle 每个数据行的外观
AlternatingRowStyle 设置交替行的样式
SelectedRowStyle 设置选中行的外观
EditRowStyle 编辑模式的行的外观
EmptyDataRowStyle 配置一种特殊情况下只有单个空行时的外观,这种情况出现在绑定数据对象不包含任何行的时候
FooterStyle 显示注脚时(ShowFooter为true),注脚行的外观
PagerStyle 启用分页时(AllowPaging为true),配置包含页链接的行的外观

有两种方式设置样式属性:
1.用GridView开始标签中的特性表示扩展样式,如RowStyle-ForeColor

 <asp:GridView ID="GridView1" runat="server"  RowStyle-ForeColor="DarkBlue" ...>

2.使用内嵌标签

                <asp:BoundField DataField="Country" HeaderText="Country">
                  <ItemStyle BackColor="LightSteelBlue" />
                </asp:BoundField>
格式化特定值

如果希望格式化某个特定行或者某个单元格,可以使用GridView.RowDataBound事件。
GridView.DataItem属性提供指定行的数据对象

如下的例子:

    protected void gridEmployees_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        // 检查当前创建的行是不是数据行
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            // 获取TitleOfCourtesy的值
            string title = (string)DataBinder.Eval(e.Row.DataItem, "TitleOfCourtesy");

            // If the title of courtesy is "Ms.", "Mrs.", or "Mr.",
            // change the item's colors.
            if (title == "Ms." || title == "Mrs.")
            {
                e.Row.BackColor = System.Drawing.Color.LightPink;
                e.Row.ForeColor = System.Drawing.Color.Maroon;
            }
            else if (title == "Mr.")
            {
            
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值