细节视图控件detailsview的介绍

GridView控件具有一个很明显的特点,一次可以从数据源中获取大量的数据,并且通过表格的形式将数据显示出来。在某些时候用户希望看到一次只看到某一行中所包含数据字段的详细数据。ASP.NET2.0提供了DetailsView控件。该控件能够以表格形式,详细显示每一行数据中各个数据字段的具体内容。下面介绍一下DetailsView控件的基本知识、常用属性、方法等。通过一个示例说明使用DetailsView控件显示和增删改数据的方法。

1、            DetailsView控件简介

DetailsView控件的主要功能是以表格形式现实和处理来自数据源的单条数据记录,其表

格只包含两个数据列。一行数据列逐行显示数据列名,另一个数据列显示与对应列名相关的详细数据值。这种显示方式对于数据列较多,需要逐行显示详细数据的情况非常有帮助。DetailsView控件可与GridView控件结合使用,以便实现主细表信息显示。DetailsView控件具有以下功能。

l      支持与数据源控件绑定,例如,SqlDataSource等。

l      内置数据添加功能。

l      内置更新、删除、分页功能。

l      支持以编程方式访问DetailsView对象模型,动态设置属性、处理事件等。

l      可通过主题和样式进行自定义的外观。

2、            DetailsView控件的声明:

<asp:DetailsView ID="DetailsView1" runat="server" DataSource="" AutoGenerateDeleteButton="true" AutoGenerateEditButton="true" AutoGenerateInsertButton="true" AutoGenerateRows="false">

          <Fields>

            <asp:BoundField DataField="" HeaderText="" ReadOnly="true" SortExpression="" />

          </Fields>

        </asp:DetailsView>

以上代码列举了DetailsView控件的常用属性,实际上DetailsView控件的多数属性与GridView控件的属性,在属性名称、类型、功能等方面非常类似。例如,DetailsView控件也是适用DataSource属性实现与数据源控件的连接,也是适用DataKeyNames设置主键名称。同时,适用类似AutoGenerateEditButton名称的属性,启用编辑、添加、删除、自动生成等功能。另外,GridView控件和DetailsView控件也有不同。例如设置自动生成数据行的属性是AutoGenerateRows,而GridView控件使用的是AutoGenerateColumns,又如,自定义设置数据绑定行的过程中,DetailsView控件使用了<Fields>标签,而GridView控件使用的是<Columns>

DetailsView控件中的每个数据行是通过声明一个字段控件创建的。不同的行字段类型确定控件中各行的行为。字段控件派生自DataControlField。以下列出了可以在DetailsView控件中使用的7种不同行字段类型。

l      BoundField字段:以文本形式数据源中某个字段的值。

l      ButtonField字段:DetailsView控件中显示一个命令按钮。允许自定义按钮。

l      CheckBoxField字段:DetailsView控件中显示一个复选框。显示具有布尔型的字段。

l      CommandField字段:显示用来执行编辑、插入或删除操作的内置命令按钮。

l      HyperLinkField字段:将数据源中某个字段的值显示为超级连接。

l      ImageField字段:DetailsView控件中显示图像。

l      TemplateField字段:根据指定的模板,为DetailsView控件中的行显示用户自定义的内容。

以上7个行字段只有当AutoGenerateRows属性设置为False时才能使用。在默认情况下,AutoGenerateRows属性设置为true,即允许DetailsView控件自动生成数据行。此时,每个行字段将以文本形式,按其出现在数据源中的顺序显示在表格中。自动生成行提供了一种显示记录中每个字段的快速简单的方式。

3、            DetailsView控件常用属性列表

行为属性:

属性

数据类型

说明

AllowPaging    

bool

获取或设置一个值,该值指示是否启用分页功能。

AllowSorting

bool

获取或设置一个值,该值指示是否启用排序功能。

AutoGenerateRows

bool

获取或设置一个值,该值指示是否启用控件自动生成数据绑定行字段的功能。

AutoGenerateDeleteButton

bool

获取或设置一个值 ,用于表示是否为DetailsView中正在显示的数据记录添加一个删除命令按钮。

AutoGenerateEditButton

bool

获取或设置一个值用于表示是否为DetailsView中正在显示的数据记录添加一个编辑命令按钮。

AutoGenerateInsertButton

bool

获取或设置一个值用于表示是否为DetailsView中正在显示的数据记录添加一个选择插入按钮。

DefaultMode

DetailsViewMode

获取或者设置控件默认数据起始模式。

EnablePagingCallbacks

bool

获取或者设置一个布尔值,用于表示是否在执行分页时,启用客户端回调功能。

外观属性:

属性

数据类型

说明

BackImageUrl    

string

获取或设置要在 DetailsView 控件的背景中显示的图像的 URL

Caption

string

获取或设置要在 DetailsView 控件内的 HTML 标题元素中呈现的文本。

CaptionAlign

TableCaptionAlign

获取或设置 DetailsView 控件中的 HTML 标题元素的水平或垂直位置。

CellPadding

int

获取或设置单元格的内容和单元格的边框之间的空间量。

CellSpacing

int

获取或设置单元格间的空间量。

EmptyDataText

string

获取或设置在 DetailsView 控件绑定到不包含任何记录的数据源时所呈现的空数据行中显示的文本。

FooterText

string

获取或设置要在 DetailsView 控件的脚注行中显示的文本。

HeaderText

string

获取或设置要在 DetailsView 控件的标题行用户自定义的文本

常用样式属性:

属性

数据类型

说明

AlternatigRowStyle

TableItemStyle

获取对 TableItemStyle 对象的引用,该对象允许您设置 DetailsView 控件中的交替数据行的外观。

CommandRowStyle

TableItemStyle

获取对 TableItemStyle 对象的引用,该对象允许您设置 DetailsView 控件中的命令行的外观。

EditRowStyle

TableItemStyle

获取一个对 TableItemStyle 对象的引用,该对象允许您设置在 DetailsView 控件处于编辑模式时数据行的外观。

FooterStyle

TableItemStyle

获取对 TableItemStyle 对象的引用,该对象允许您设置 DetailsView 控件中的脚注行的外观。

HeaderStyle

TableItemStyle

获取对 TableItemStyle 对象的引用,该对象允许您设置 DetailsView 控件中的标题行的外观。

InsertRowStyle

TableItemStyle

获取一个对 TableItemStyle 对象的引用,该对象允许您设置在 DetailsView 控件处于插入模式时 DetailsView 控件中的数据行的外观。

PagerStyle

TableItemStyle

获取对 TableItemStyle 对象的引用,该对象允许您设置 DetailsView 控件中的页导航行的外观。

RowStyle

TableItemStyle

获取对 TableItemStyle 对象的引用,该对象允许您设置 DetailsView 控件中的数据行的外观。

常用模板:

属性

数据类型

说明

EmptyDataTemplate

ITemplate

获取或设置当 DetailsView 控件绑定到不包含任何记录的数据源时所呈现的空数据行的用户定义内容。

FooterTemplate

 

获取或设置 DetailsView 控件中的脚注行的用户定义内容。

HeaderTemplate

 

获取或设置 DetailsView 控件中的标题行的用户定义内容。

PagerTemplate

 

获取或设置 DetailsView 控件中页导航行的自定义内容。

常用状态属性:

属性

数据类型

说明

BottomPagerRow

DetailsViewRow

获取一个 DetailsViewRow 对象,该对象表示 DetailsView 控件中的底部页导航行。

CurrentMode

DetailsViewMode

获取 DetailsView 控件的当前数据输入模式。

DataItem

object

获取绑定到 DetailsView 控件的数据项。

DataItemCount

int

获取基础数据源中的项数。

DataItemIndex

int

从基础数据源中获取 DetailsView 控件中正在显示的项的索引。

DataKey

DataKey

获取一个 DataKey 对象,该对象表示所显示的记录的主键。

DataKeyName

string[]

获取或设置一个数组,该数组包含数据源的主键字段的名称。

Fields

DataControlField

Collection

获取 DataControlField 对象的集合,这些对象表示 DetailsView 控件中显式声明的行字段。

FooterRow

DetailsViewRow

获取表示 DetailsView 控件中的脚注行的 DetailsViewRow 对象。

HeaderRow

DetailsViewRow

获取表示 DetailsView 控件中的标题行的 DetailsViewRow 对象。

PageCount

int

获取数据源中的记录数。

PageIndex

int

获取或设置所显示的记录的索引。

PagerSettings

PagerSettings

获取对 PagerSettings 对象的引用,该对象允许您设置 DetailsView 控件中的页导航按钮的属性。

Rows

DataControlField

Collection

获取表示 DetailsView 控件中数据行的 DetailsViewRow 对象的集合。

SelectedValue

object

获取 DetailsView 控件中的当前记录的数据键值。

TopPagerRow

DetailsViewRow

获取一个 DetailsViewRow 对象,该对象表示 DetailsView 控件中的顶部页导航行。

常用事件:

属性

说明

ItemCommand

该事件发生在控件中某个按钮被单击时。通常,可以自定义实现一些任务。该事件的事件处理程序为OnItemCommand

ItemCreated

该事件放发生在创建一个新纪录时。通常,可以实现一些任务,例如,添加数据内容等。该事件的事件处理程序为OnItemCreated

ItemDeleted

该事件发生在单击删除按钮,而执行删除操作之后。通常,在事件中检查删除操作的结果。该事件的事件处理程序为ItemDeleted

ItemDeleting

该事件发生在单击删除按钮,而执行删除操作之前。通常,在事件中执行取消删除操作。该事件的事件处理程序为ItemDeleting

ItemInserted

该事件发生在单击添加按钮,而执行添加操作之后。通常,在事件中检查添加操作的结果。该事件的事件处理程序为ItemInserted

ItemInserting

该事件发生在单击添加按钮,而执行添加操作之前。通常,在事件中执行取消添加操作。该事件的事件处理程序为ItemInserting

ItemUpdated

该事件发生在单击更新按钮,而执行更新操作之后。通常,在事件中检查添加更新的结果。该事件的事件处理程序为ItemUpdated

ItemUpdating

该事件发生在单击更新按钮,而执行更新操作之前。通常,在事件中执行取消更新操作。该事件的事件处理程序为ItemUpdating

PageIndexChanged

该事件发生在PageIndex属性的值在分页操作后更改时发生。该事件的事件处理程序为PageIndexChanged

PageIndexChanging

该事件发生在PageIndex属性的值在分页操作前更改时发生。该事件的事件处理程序为PageIndexChanging

 

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值