GridView 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在表中显示数据源的值,其中每列表示一个字段,每行表示一条记录。 使用 GridView 控件可以选择和编辑这些项以及对它们进行排序。
public ref class GridView : System::Web::UI::WebControls::CompositeDataBoundControl, System::Web::UI::ICallbackEventHandler, System::Web::UI::IPostBackEventHandler, System::Web::UI::WebControls::ICallbackContainer, System::Web::UI::WebControls::IPersistedSelector, System::Web::UI::WebControls::IPostBackContainer
public ref class GridView : System::Web::UI::WebControls::CompositeDataBoundControl, System::Web::UI::ICallbackEventHandler, System::Web::UI::IDataKeysControl, System::Web::UI::IPostBackEventHandler, System::Web::UI::WebControls::ICallbackContainer, System::Web::UI::WebControls::IDataBoundListControl, System::Web::UI::WebControls::IFieldControl, System::Web::UI::WebControls::IPersistedSelector, System::Web::UI::WebControls::IPostBackContainer
[System.Web.UI.ControlValueProperty("SelectedValue")]
public class GridView : System.Web.UI.WebControls.CompositeDataBoundControl, System.Web.UI.ICallbackEventHandler, System.Web.UI.IPostBackEventHandler, System.Web.UI.WebControls.ICallbackContainer, System.Web.UI.WebControls.IPersistedSelector, System.Web.UI.WebControls.IPostBackContainer
[System.Web.UI.ControlValueProperty("SelectedValue")]
public class GridView : System.Web.UI.WebControls.CompositeDataBoundControl, System.Web.UI.ICallbackEventHandler, System.Web.UI.IDataKeysControl, System.Web.UI.IPostBackEventHandler, System.Web.UI.WebControls.ICallbackContainer, System.Web.UI.WebControls.IDataBoundListControl, System.Web.UI.WebControls.IFieldControl, System.Web.UI.WebControls.IPersistedSelector, System.Web.UI.WebControls.IPostBackContainer
[<System.Web.UI.ControlValueProperty("SelectedValue")>]
type GridView = class
inherit CompositeDataBoundControl
interface IPostBackContainer
interface IPostBackEventHandler
interface ICallbackContainer
interface ICallbackEventHandler
interface IPersistedSelector
[<System.Web.UI.ControlValueProperty("SelectedValue")>]
type GridView = class
inherit CompositeDataBoundControl
interface IPostBackContainer
interface IPostBackEventHandler
interface ICallbackContainer
interface ICallbackEventHandler
interface IPersistedSelector
interface IDataKeysControl
interface IDataBoundListControl
interface IDataBoundControl
interface IFieldControl
Public Class GridView
Inherits CompositeDataBoundControl
Implements ICallbackContainer, ICallbackEventHandler, IPersistedSelector, IPostBackContainer, IPostBackEventHandler
Public Class GridView
Inherits CompositeDataBoundControl
Implements ICallbackContainer, ICallbackEventHandler, IDataBoundListControl, IDataKeysControl, IFieldControl, IPersistedSelector, IPostBackContainer, IPostBackEventHandler
- 继承
- 属性
- 实现
示例
本主题附带了一个包含源代码的 Visual Studio 网站项目: 下载。
以下示例演示如何使用 GridView 控件显示 Microsoft SQL Server 中 AdventureWorksLT 示例数据库的 Customers 表中的值。 使用 SqlDataSource 控件检索值。
<asp:sqldatasource id="CustomersSource"
selectcommand="SELECT CustomerID, CompanyName, FirstName, LastName FROM SalesLT.Customer"
connectionstring="<%$ ConnectionStrings:AWLTConnectionString %>"
runat="server"/>
<asp:gridview id="CustomersGridView"
datasourceid="CustomersSource"
autogeneratecolumns="False"
emptydatatext="No data available."
allowpaging="True"
runat="server" DataKeyNames="CustomerID">
<Columns>
<asp:BoundField DataField="CustomerID" HeaderText="CustomerID"
InsertVisible="False" ReadOnly="True" SortExpression="CustomerID" />
<asp:BoundField DataField="CompanyName" HeaderText="CompanyName"
SortExpression="CompanyName" />
<asp:BoundField DataField="FirstName" HeaderText="FirstName"
SortExpression="FirstName" />
<asp:BoundField DataField="LastName" HeaderText="LastName"
SortExpression="LastName" />
</Columns>
</asp:gridview>
<asp:sqldatasource id="CustomersSource"
selectcommand="SELECT CustomerID, CompanyName, FirstName, LastName FROM SalesLT.Customer"
connectionstring="<%$ ConnectionStrings:AWLTConnectionString %>"
runat="server"/>
<asp:gridview id="CustomersGridView"
datasourceid="CustomersSource"
autogeneratecolumns="False"
emptydatatext="No data available."
allowpaging="True"
runat="server" DataKeyNames="CustomerID">
<Columns>
<asp:BoundField DataField="CustomerID" HeaderText="CustomerID"
InsertVisible="False" ReadOnly="True" SortExpression="CustomerID" />
<asp:BoundField DataField="CompanyName" HeaderText="CompanyName"
SortExpression="CompanyName" />
<asp:BoundField DataField="FirstName" HeaderText="FirstName"
SortExpression="FirstName" />
<asp:BoundField DataField="LastName" HeaderText="LastName"
SortExpression="LastName" />
</Columns>
</asp:gridview>
以下示例演示如何使用 GridView 控件和 LinqDataSource 控件,以便可以编辑记录。
<asp:LinqDataSource ID="LinqDataSource1" runat="server"
ContextTypeName="AdventureWorksLTDataClassesDataContext"
EnableDelete="True" EnableInsert="True" EnableUpdate="True"
TableName="SalesOrderDetails">
</asp:LinqDataSource>
<asp:GridView ID="GridView1" runat="server"
AutoGenerateColumns="False"
DataKeyNames="SalesOrderID,SalesOrderDetailID"
DataSourceID="LinqDataSource1">
<Columns>
<asp:CommandField ShowDeleteButton="True"
ShowEditButton="True" />
<asp:BoundField DataField="SalesOrderID"
HeaderText="SalesOrderID" ReadOnly="True"
SortExpression="SalesOrderID" />
<asp:BoundField DataField="SalesOrderDetailID"
HeaderText="SalesOrderDetailID" InsertVisible="False"
ReadOnly="True" SortExpression="SalesOrderDetailID" />
<asp:BoundField DataField="OrderQty"
HeaderText="OrderQty" SortExpression="OrderQty" />
<asp:BoundField DataField="ProductID"
HeaderText="ProductID" SortExpression="ProductID" />
<asp:BoundField DataField="UnitPrice"
HeaderText="UnitPrice" SortExpression="UnitPrice" />
<asp:BoundField DataField="ModifiedDate"
HeaderText="ModifiedDate" SortExpression="ModifiedDate" />
</Columns>
</asp:GridView>
<asp:LinqDataSource ID="LinqDataSource1" runat="server"
ContextTypeName="AdventureWorksLTDataClassesDataContext"
EnableDelete="True" EnableInsert="True" EnableUpdate="True"
TableName="SalesOrderDetails">
</asp:LinqDataSource>
<asp:GridView ID="GridView1" runat="server"
AutoGenerateColumns="False"
DataKeyNames="SalesOrderID,SalesOrderDetailID"
DataSourceID="LinqDataSource1">
<Columns>
<asp:CommandField ShowDeleteButton="True"
ShowEditButton="True" />
<asp:BoundField DataField="SalesOrderID"
HeaderText="SalesOrderID" ReadOnly="True"
SortExpression="SalesOrderID" />
<asp:BoundField DataField="SalesOrderDetailID"
HeaderText="SalesOrderDetailID" InsertVisible="False"
ReadOnly="True" SortExpression="SalesOrderDetailID" />
<asp:BoundField DataField="OrderQty"
HeaderText="OrderQty" SortExpression="OrderQty" />
<asp:BoundField DataField="ProductID"
HeaderText="ProductID" SortExpression="ProductID" />
<asp:BoundField DataField="UnitPrice"
HeaderText="UnitPrice" SortExpression="UnitPrice" />
<asp:BoundField DataField="ModifiedDate"
HeaderText="ModifiedDate" SortExpression="ModifiedDate" />
</Columns>
</asp:GridView>
有关演示如何访问单元格中的值的示例,请参阅 GridViewRow。
注解
本主题内容:
介绍
控件 GridView 用于在表中显示数据源的值。 每列表示一个字段,而每一行表示一条记录。 控件 GridView 支持以下功能:
绑定到数据源控件,例如 SqlDataSource。
内置排序功能。
内置更新和删除功能。
内置分页功能。
内置行选择功能。
以编程方式访问 GridView 对象模型,以动态设置属性、处理事件等。
多个键字段。
超链接列的多个数据字段。
可通过主题和样式自定义外观。
若要了解 ASP.NET 中提供的其他数据绑定控件,请参阅 数据绑定 Web 服务器控件。
列字段
控件中的每个 GridView 列都由 一个 DataControlField 对象表示。 默认情况下, AutoGenerateColumns 属性设置为 true
,这将为数据源中的每个字段创建一个 AutoGeneratedField 对象。 然后,每个字段在控件中 GridView 呈现为列,其顺序是每个字段在数据源中的显示顺序。
还可以手动控制控件中显示的 GridView 列字段,方法是将 属性设置为 AutoGenerateColumnsfalse
,然后定义自己的列字段集合。 不同的列字段类型确定控件中列的行为。 下表列出了可以使用的不同列字段类型。
列字段类型 | 说明 |
---|---|
BoundField | 显示数据源中字段的值。 这是控件的默认列类型 GridView 。 |
ButtonField | 显示控件中每个项的 GridView 命令按钮。 这使你可以创建一列自定义按钮控件,例如“添加”或“删除”按钮。 |
CheckBoxField | 显示控件中每个项的 GridView 复选框。 此列字段类型通常用于显示具有布尔值的字段。 |
CommandField | 显示预定义的命令按钮以执行选择、编辑或删除操作。 |
HyperLinkField | 将数据源中字段的值显示为超链接。 通过此列字段类型,可以将第二个字段绑定到超链接的 URL。 |
ImageField | 显示控件中每个项的图像 GridView 。 |
TemplateField | 根据指定的模板显示控件中 GridView 每个项的用户定义内容。 通过此列字段类型,可以创建自定义列字段。 |
若要以声明方式定义列字段集合,请先在控件的GridView开始标记和结束<Columns>
标记之间添加开始标记和结束标记。 接下来,列出要在开始标记和结束 <Columns>
标记之间包括的列字段。 指定的列将按列出的顺序添加到 Columns 集合中。 集合 Columns 将所有列字段存储在 控件中,并使你能够以编程方式管理控件中的 GridView 列字段。
显式声明的列字段可以与自动生成的列字段组合显示。 当同时使用这两个字段时,首先呈现显式声明的列字段,然后呈现自动生成的列字段。
注意
自动生成的列字段不会添加到集合中 Columns 。
绑定到数据
控件 GridView 可以绑定到数据源控件 ((例如 SqlDataSource 控件或 ObjectDataSource 控件) )或实现 System.Collections.IEnumerable 接口的任何数据源集合,例如 System.Data.DataView、 System.Collections.ArrayList、 System.Collections.Generic.List<T>或其他集合类型。 使用以下方法之一将 GridView 控件绑定到相应的数据源类型:
若要绑定到数据源控件,请将 控件GridView的 属性设置为DataSourceIDID数据源控件的值。 控件 GridView 自动绑定到指定的数据源控件,并可以利用数据源控件的功能来执行排序、更新、删除和分页。 这是绑定到数据的首选方法。
若要绑定到实现 接口的System.Collections.IEnumerable数据源,请以编程方式将 GridView 控件的 属性设置为DataSource数据源,然后调用 DataBind 方法。 使用此方法时, GridView 控件不提供内置的排序、更新、删除和分页功能。 需要使用适当的事件来提供此功能。
有关数据绑定的详细信息,请参阅 ASP.NET 数据访问内容映射。
注意
此控件可用于显示用户输入,其中可能包括恶意客户端脚本。 在应用程序中显示之前,请检查从客户端发送的任何信息,以获取可执行脚本、SQL 语句或其他代码。 强烈建议尽可能先对值进行 HTML 编码,然后再在此控件中显示这些值, (BoundField 默认情况下,类 HTML 编码值) 。 ASP.NET 提供输入请求验证功能,以阻止用户输入中的脚本和 HTML。 还提供了验证服务器控件来评估用户输入。 有关详细信息,请参阅 验证控件简介。
数据操作
控件 GridView 提供了许多内置功能,允许用户对控件中的项进行排序、更新、删除、选择和分页。 当控件 GridView 绑定到数据源控件时,控件 GridView 可以利用数据源控件的功能,并提供自动排序、更新和删除功能。
注意
控件 GridView 可以支持对其他类型的数据源进行排序、更新和删除。 但是,需要为这些操作提供相应的事件处理程序实现。
排序允许用户通过单击列的标题,对控件中的 GridView 项进行特定列的排序。 若要启用排序,请将 AllowSorting 属性设置为 true
。
单击 或 TemplateField 列字段中的按钮ButtonField时,将启用自动更新、删除和选择功能,命令名称分别为“编辑”、“删除”和“选择”。 如果 AutoGenerateDeleteButtonAutoGenerateEditButton、 或 属性分别设置为 true
,控件GridView可以自动添加CommandField带有编辑、删除或AutoGenerateSelectButton选择按钮的列字段。
注意
控件不直接支持 GridView 将记录插入数据源。 但是,可以通过将 GridView 控件与 DetailsView
或 FormView
控件结合使用来插入记录。 有关详细信息,请参阅 DetailsView 或 FormView,分别。
控件可以自动将记录分解为页, GridView 而不是同时显示数据源中的所有记录。 若要启用分页,请将 AllowPaging 属性设置为 true
。
注意
控件 GridView 基于 存储在 中的 ViewState信息在回发时重新创建。
GridView如果控件包含 或 TemplateField ,CommandField且 CausesValidation 属性设置为 true
,则 EnableViewState 还必须将 属性设置为 true
,以确保并发数据操作(如更新和删除)应用于相应的行。
自定义用户界面
可以通过为控件的不同部分设置样式属性来自定义控件的外观 GridView 。 下表列出了不同的样式属性。
Style 属性 | 说明 |
---|---|
AlternatingRowStyle | 控件中交替数据行的 GridView 样式设置。 设置此属性后,数据行将在设置和AlternatingRowStyle设置之间RowStyle交替显示。 |
EditRowStyle | 控件中正在编辑的行的 GridView 样式设置。 |
EmptyDataRowStyle | 数据源不包含任何记录时控件中显示的 GridView 空数据行的样式设置。 |
FooterStyle | 控件的页脚行的 GridView 样式设置。 |
HeaderStyle | 控件标题行的 GridView 样式设置。 |
PagerStyle | 控件的页码行的 GridView 样式设置。 |
RowStyle | 控件中数据行的 GridView 样式设置。 AlternatingRowStyle同时设置 属性时,数据行在设置和AlternatingRowStyle设置之间RowStyle交替显示。 |
SelectedRowStyle | 控件中所选行的 GridView 样式设置。 |
SortedAscendingCellStyle | 数据在 控件中按其排序的数据列的 GridView 样式设置。 设置此样式时,样式 (例如,在数据按升序排序时,突出显示的列) 将应用于单元格。 |
SortedAscendingHeaderStyle | 数据在 控件中按其排序的数据列的 GridView 样式设置。 设置此样式后,当数据按升序排序时,控件的 GridView 标头上将放置一个箭头,指示数据按升序排序。 |
SortedDescendingCellStyle | 数据在 控件中按其排序的数据列的 GridView 样式设置。 设置此样式时,样式 (例如,在按降序对数据进行排序时,突出显示的列) 将应用于单元格。 |
SortedDescendingHeaderStyle | 数据在 控件中按其排序的数据列的 GridView 样式设置。 设置此样式时,当数据按降序排序时,会向下的 标头 GridView 放置一个向下箭头。 |
还可以显示或隐藏控件的不同部分。 下表列出了控制显示或隐藏哪些部分的属性。
属性 | 说明 |
---|---|
ShowFooter | 显示或隐藏控件的 GridView 页脚部分。 |
ShowHeader | 显示或隐藏控件的 GridView 标头部分。 |
事件
控件 GridView 提供了多个事件,你可以针对这些事件进行编程。 这使你能够在事件发生时运行自定义例程。 下表列出了 控件支持 GridView 的事件。
事件 | 说明 |
---|---|
PageIndexChanged | 在单击某一页导航按钮时,但在 GridView 控件处理分页操作之后发生。 当用户导航到控件中的其他页面后需要执行任务时,通常使用此事件。 |
PageIndexChanging | 在单击某一页导航按钮时,但在 GridView 控件处理分页操作之前发生。 此事件通常用于取消分页操作。 |
RowCancelingEdit | 单击行的“取消”按钮时,但在控件退出编辑模式之前 GridView 发生。 此事件通常用于停止取消操作。 |
RowCommand | 在 GridView 控件中单击某个按钮时发生。 此事件通常用于在控件中单击按钮时执行任务。 |
RowCreated | 在 控件中 GridView 创建新行时发生。 此事件通常用于在创建行时修改行的内容。 |
RowDataBound | 当数据行绑定到控件中的数据时发生 GridView 。 此事件通常用于在行绑定到数据时修改行的内容。 |
RowDeleted | 单击行的“删除”按钮,但在控件从数据源中删除记录之后 GridView 发生。 此事件通常用于检查删除操作的结果。 |
RowDeleting | 单击行的“删除”按钮,但在控件从数据源中删除记录之前 GridView 发生。 此事件通常用于取消删除操作。 |
RowEditing | 发生在单击某一行的“编辑”按钮以后,GridView 控件进入编辑模式之前。 此事件通常用于取消编辑操作。 |
RowUpdated | 发生在单击某一行的“更新”按钮,并且 GridView 控件对该行进行更新之后。 此事件通常用于检查更新操作的结果。 |
RowUpdating | 发生在单击某一行的“更新”按钮以后,GridView 控件对该行进行更新之前。 此事件通常用于取消更新操作。 |
SelectedIndexChanged | 发生在单击某一行的“选择”按钮,GridView 控件对相应的选择操作进行处理之后。 此事件通常用于在控件中选择行后执行任务。 |
SelectedIndexChanging | 发生在单击某一行的“选择”按钮以后,GridView 控件对相应的选择操作进行处理之前。 此事件通常用于取消选择操作。 |
Sorted | 在单击用于列排序的超链接时,但在 GridView 控件对相应的排序操作进行处理之后发生。 此事件通常用于在用户单击超链接对列进行排序后执行任务。 |
Sorting | 在单击用于列排序的超链接时,但在 GridView 控件对相应的排序操作进行处理之前发生。 此事件通常用于取消排序操作或执行自定义排序例程。 |
可访问性
有关如何配置此控件以便生成符合辅助功能标准的标记的信息,请参阅 Visual Studio 中的辅助功能和 ASP.NET 和 ASP.NET 控件和辅助功能。
声明性语法
<asp:GridView
AccessKey="string"
AllowPaging="True|False"
AllowSorting="True|False"
AutoGenerateColumns="True|False"
AutoGenerateDeleteButton="True|False"
AutoGenerateEditButton="True|False"
AutoGenerateSelectButton="True|False"
BackColor="color name|#dddddd"
BackImageUrl="uri"
BorderColor="color name|#dddddd"
BorderStyle="NotSet|None|Dotted|Dashed|Solid|Double|Groove|Ridge|
Inset|Outset"
BorderWidth="size"
Caption="string"
CaptionAlign="NotSet|Top|Bottom|Left|Right"
CellPadding="integer"
CellSpacing="integer"
CssClass="string"
DataKeyNames="string"
DataMember="string"
DataSource="string"
DataSourceID="string"
EditIndex="integer"
EmptyDataText="string"
Enabled="True|False"
EnableSortingAndPagingCallbacks="True|False"
EnableTheming="True|False"
EnableViewState="True|False"
Font-Bold="True|False"
Font-Italic="True|False"
Font-Names="string"
Font-Overline="True|False"
Font-Size="string|Smaller|Larger|XX-Small|X-Small|Small|Medium|
Large|X-Large|XX-Large"
Font-Strikeout="True|False"
Font-Underline="True|False"
ForeColor="color name|#dddddd"
GridLines="None|Horizontal|Vertical|Both"
Height="size"
HorizontalAlign="NotSet|Left|Center|Right|Justify"
ID="string"
OnDataBinding="DataBinding event handler"
OnDataBound="DataBound event handler"
OnDisposed="Disposed event handler"
OnInit="Init event handler"
OnLoad="Load event handler"
OnPageIndexChanged="PageIndexChanged event handler"
OnPageIndexChanging="PageIndexChanging event handler"
OnPreRender="PreRender event handler"
OnRowCancelingEdit="RowCancelingEdit event handler"
OnRowCommand="RowCommand event handler"
OnRowCreated="RowCreated event handler"
OnRowDataBound="RowDataBound event handler"
OnRowDeleted="RowDeleted event handler"
OnRowDeleting="RowDeleting event handler"
OnRowEditing="RowEditing event handler"
OnRowUpdated="RowUpdated event handler"
OnRowUpdating="RowUpdating event handler"
OnSelectedIndexChanged="SelectedIndexChanged event handler"
OnSelectedIndexChanging="SelectedIndexChanging event handler"
OnSorted="Sorted event handler"
OnSorting="Sorting event handler"
OnUnload="Unload event handler"
PageIndex="integer"
PagerSettings-FirstPageImageUrl="uri"
PagerSettings-FirstPageText="string"
PagerSettings-LastPageImageUrl="uri"
PagerSettings-LastPageText="string"
PagerSettings-Mode="NextPrevious|Numeric|NextPreviousFirstLast|
NumericFirstLast"
PagerSettings-NextPageImageUrl="uri"
PagerSettings-NextPageText="string"
PagerSettings-PageButtonCount="integer"
PagerSettings-Position="Bottom|Top|TopAndBottom"
PagerSettings-PreviousPageImageUrl="uri"
PagerSettings-PreviousPageText="string"
PagerSettings-Visible="True|False"
PageSize="integer"
RowHeaderColumn="string"
runat="server"
SelectedIndex="integer"
ShowFooter="True|False"
ShowHeader="True|False"
SkinID="string"
Style="string"
TabIndex="integer"
ToolTip="string"
UseAccessibleHeader="True|False"
Visible="True|False"
Width="size"
>
<AlternatingRowStyle />
<Columns>
<asp:BoundField
AccessibleHeaderText="string"
ApplyFormatInEditMode="True|False"
ConvertEmptyStringToNull="True|False"
DataField="string"
DataFormatString="string"
FooterText="string"
HeaderImageUrl="uri"
HeaderText="string"
HtmlEncode="True|False"
InsertVisible="True|False"
NullDisplayText="string"
ReadOnly="True|False"
ShowHeader="True|False"
SortExpression="string"
Visible="True|False"
>
<ControlStyle />
<FooterStyle />
<HeaderStyle />
<ItemStyle />
</asp:BoundField>
<asp:ButtonField
AccessibleHeaderText="string"
ButtonType="Button|Image|Link"
CausesValidation="True|False"
CommandName="string"
DataTextField="string"
DataTextFormatString="string"
FooterText="string"
HeaderImageUrl="uri"
HeaderText="string"
ImageUrl="uri"
InsertVisible="True|False"
ShowHeader="True|False"
SortExpression="string"
Text="string"
ValidationGroup="string"
Visible="True|False"
>
<ControlStyle />
<FooterStyle />
<HeaderStyle />
<ItemStyle />
</asp:ButtonField>
<asp:CheckBoxField
AccessibleHeaderText="string"
DataField="string"
FooterText="string"
HeaderImageUrl="uri"
HeaderText="string"
InsertVisible="True|False"
ReadOnly="True|False"
ShowHeader="True|False"
SortExpression="string"
Text="string"
Visible="True|False"
>
<ControlStyle />
<FooterStyle />
<HeaderStyle />
<ItemStyle />
</asp:CheckBoxField>
<asp:CommandField
AccessibleHeaderText="string"
ButtonType="Button|Image|Link"
CancelImageUrl="uri"
CancelText="string"
CausesValidation="True|False"
DeleteImageUrl="uri"
DeleteText="string"
EditImageUrl="uri"
EditText="string"
FooterText="string"
HeaderImageUrl="uri"
HeaderText="string"
InsertImageUrl="uri"
InsertText="string"
InsertVisible="True|False"
NewImageUrl="uri"
NewText="string"
SelectImageUrl="uri"
SelectText="string"
ShowCancelButton="True|False"
ShowDeleteButton="True|False"
ShowEditButton="True|False"
ShowHeader="True|False"
ShowInsertButton="True|False"
ShowSelectButton="True|False"
SortExpression="string"
UpdateImageUrl="uri"
UpdateText="string"
ValidationGroup="string"
Visible="True|False"
>
<ControlStyle />
<FooterStyle />
<HeaderStyle />
<ItemStyle />
</asp:CommandField>
<asp:DynamicField
AccessibleHeaderText="string"
ApplyFormatInEditMode="True|False"
ConvertEmptyStringToNull="True|False"
DataField="string"
DataFormatString="string"
FooterText="string"
HeaderImageUrl="uri"
HeaderText="string"
HtmlEncode="True|False"
InsertVisible="True|False"
NullDisplayText="string"
ShowHeader="True|False"
UIHint="string"
Visible="True|False"
>
<ControlStyle />
<FooterStyle />
<HeaderStyle />
<ItemStyle />
</asp:DynamicField>
<asp:HyperLinkField
AccessibleHeaderText="string"
DataNavigateUrlFields="string"
DataNavigateUrlFormatString="string"
DataTextField="string"
DataTextFormatString="string"
FooterText="string"
HeaderImageUrl="uri"
HeaderText="string"
InsertVisible="True|False"
NavigateUrl="uri"
ShowHeader="True|False"
SortExpression="string"
Target="string|_blank|_parent|_search|_self|_top"
Text="string"
Visible="True|False"
>
<ControlStyle />
<FooterStyle />
<HeaderStyle />
<ItemStyle />
</asp:HyperLinkField>
<asp:ImageField
AccessibleHeaderText="string"
AlternateText="string"
ConvertEmptyStringToNull="True|False"
DataAlternateTextField="string"
DataAlternateTextFormatString="string"
DataImageUrlField="string"
DataImageUrlFormatString="string"
FooterText="string"
HeaderImageUrl="uri"
HeaderText="string"
InsertVisible="True|False"
NullDisplayText="string"
NullImageUrl="uri"
ReadOnly="True|False"
ShowHeader="True|False"
SortExpression="string"
Visible="True|False"
>
<ControlStyle />
<FooterStyle />
<HeaderStyle />
<ItemStyle />
</asp:ImageField>
<asp:TemplateField
AccessibleHeaderText="string"
ConvertEmptyStringToNull="True|False"
FooterText="string"
HeaderImageUrl="uri"
HeaderText="string"
InsertVisible="True|False"
ShowHeader="True|False"
SortExpression="string"
Visible="True|False"
>
<ControlStyle />
<FooterStyle />
<HeaderStyle />
<ItemStyle />
<AlternatingItemTemplate>
<!-- child controls -->
</AlternatingItemTemplate>
<EditItemTemplate>
<!-- child controls -->
</EditItemTemplate>
<FooterTemplate>
<!-- child controls -->
</FooterTemplate>
<HeaderTemplate>
<!-- child controls -->
</HeaderTemplate>
<InsertItemTemplate>
<!-- child controls -->
</InsertItemTemplate>
<ItemTemplate>
<!-- child controls -->
</ItemTemplate>
</asp:TemplateField>
</Columns>
<EditRowStyle />
<EmptyDataRowStyle />
<EmptyDataTemplate>
<!-- child controls -->
</EmptyDataTemplate>
<FooterStyle />
<HeaderStyle />
<PagerSettings
FirstPageImageUrl="uri"
FirstPageText="string"
LastPageImageUrl="uri"
LastPageText="string"
Mode="NextPrevious|Numeric|NextPreviousFirstLast|
NumericFirstLast"
NextPageImageUrl="uri"
NextPageText="string"
OnPropertyChanged="PropertyChanged event handler"
PageButtonCount="integer"
Position="Bottom|Top|TopAndBottom"
PreviousPageImageUrl="uri"
PreviousPageText="string"
Visible="True|False"
/>
<PagerStyle />
<PagerTemplate>
<!-- child controls -->
</PagerTemplate>
<RowStyle />
<SelectedRowStyle />
</asp:GridView>
构造函数
GridView() |
初始化 GridView 类的新实例。 |
属性
AccessKey |
获取或设置使您得以快速导航到 Web 服务器控件的访问键。 (继承自 WebControl) |
Adapter |
获取控件的浏览器特定适配器。 (继承自 Control) |
AllowCustomPaging |
获取或设置指示是否启用自定义分页的值。 |
AllowPaging |
获取或设置一个值,该值指示是否启用分页功能。 |
AllowSorting |
获取或设置一个值,该值指示是否启用排序功能。 |
AlternatingRowStyle |
获取对 TableItemStyle 对象的引用,使用该对象可以设置 GridView 控件中的交替数据行的外观。 |
AppRelativeTemplateSourceDirectory |
获取或设置包含该控件的 Page 或 UserControl 对象的应用程序相对虚拟目录。 (继承自 Control) |
Attributes |
获取与控件的特性不对应的任意特性(只用于呈现)的集合。 (继承自 WebControl) |
AutoGenerateColumns |
获取或设置一个值,该值指示是否为数据源中的每个字段自动创建绑定字段。 |
AutoGenerateDeleteButton |
获取或设置一个值,该值指示每个数据行都带有“删除”按钮的 CommandField 字段列是否自动添加到 GridView 控件。 |
AutoGenerateEditButton |
获取或设置一个值,该值指示每个数据行都带有“编辑”按钮的 CommandField 字段列是否自动添加到 GridView 控件。 |
AutoGenerateSelectButton |
获取或设置一个值,该值指示每个数据行都带有“选择”按钮的 CommandField 字段列是否自动添加到 GridView 控件。 |
BackColor |
获取或设置 Web 服务器控件的背景色。 (继承自 WebControl) |
BackImageUrl |
获取或设置要在 GridView 控件的背景中显示的图像的 URL。 |
BindingContainer |
获取包含该控件的数据绑定的控件。 (继承自 Control) |
BorderColor |
获取或设置 Web 控件的边框颜色。 (继承自 WebControl) |
BorderStyle |
获取或设置 Web 服务器控件的边框样式。 (继承自 WebControl) |
BorderWidth |
获取或设置 Web 服务器控件的边框宽度。 (继承自 WebControl) |
BottomPagerRow |
获取一个 GridViewRow 对象,该对象表示 GridView 控件中的底部页导航行。 |
Caption |
获取或设置要在 GridView 控件的 HTML 标题元素中呈现的文本。 提供此属性的目的是使辅助技术设备的用户更易于访问控件。 |
CaptionAlign |
获取或设置 GridView 控件中的 HTML 标题元素的水平或垂直位置。 提供此属性的目的是使辅助技术设备的用户更易于访问控件。 |
CellPadding |
获取或设置单元格的内容和单元格的边框之间的空间量。 |
CellSpacing |
获取或设置单元格间的空间量。 |
ChildControlsCreated |
获取一个值,该值指示是否已创建服务器控件的子控件。 (继承自 Control) |
ClientID |
获取由 ASP.NET 生成的 HTML 标记的控件 ID。 (继承自 Control) |
ClientIDMode |
获取或设置用于生成 ClientID 属性值的算法。 (继承自 Control) |
ClientIDRowSuffix |
获取或设置数据字段的名称,这些数据字段的值附加到 ClientID 属性值,以便唯一标识数据绑定控件的每个实例。 |
ClientIDRowSuffixDataKeys |
获取数据值,在 ASP.NET 生成 ClientID 值时,这些数据值用于唯一标识数据绑定控件的每个实例。 |
ClientIDSeparator |
获取一个字符值,该值表示 ClientID 属性中使用的分隔符字符。 (继承自 Control) |
Columns |
获取表示 DataControlField 控件中列字段的 GridView 对象的集合。 |
ColumnsGenerator |
获取或设置一个控件,该控件将自动为使用 ASP.NET 动态数据功能的 GridView 控件生成列。 |
Context |
为当前 Web 请求获取与服务器控件关联的 HttpContext 对象。 (继承自 Control) |
Controls |
获取复合数据绑定控件内的子控件的集合。 (继承自 CompositeDataBoundControl) |
ControlStyle |
获取 Web 服务器控件的样式。 此属性主要由控件开发人员使用。 (继承自 WebControl) |
ControlStyleCreated |
获取一个值,该值指示是否已为 Style 属性创建了 ControlStyle 对象。 此属性主要由控件开发人员使用。 (继承自 WebControl) |
CssClass |
获取或设置由 Web 服务器控件在客户端呈现的级联样式表 (CSS) 类。 (继承自 WebControl) |
DataItemContainer |
如果命名容器实现 IDataItemContainer,则获取对命名容器的引用。 (继承自 Control) |
DataKeyNames |
获取或设置一个数组,该数组包含了显示在 GridView 控件中的项的主键字段的名称。 |
DataKeys | |
DataKeysContainer |
如果命名容器实现 IDataKeysControl,则获取对命名容器的引用。 (继承自 Control) |
DataMember |
当数据源包含多个不同的数据项列表时,获取或设置数据绑定控件绑定到的数据列表的名称。 (继承自 DataBoundControl) |
DataSource |
获取或设置对象,数据绑定控件从该对象中检索其数据项列表。 (继承自 BaseDataBoundControl) |
DataSourceID |
获取或设置控件的 ID,数据绑定控件从该控件中检索其数据项列表。 (继承自 DataBoundControl) |
DataSourceObject |
获取一个对象,该对象实现 IDataSource 接口,以便提供对该对象的数据内容的访问。 (继承自 DataBoundControl) |
DeleteMethod |
获取或设置为了删除数据要调用的方法的名称。 |
DeleteMethod |
获取或设置为了删除数据要调用的方法的名称。 (继承自 CompositeDataBoundControl) |
DesignMode |
获取一个值,该值指示是否正在使用设计图面上的一个控件。 (继承自 Control) |
EditIndex |
获取或设置要编辑的行的索引。 |
EditRowStyle |
获取对 TableItemStyle 对象的引用,使用该对象可以设置 GridView 控件中为进行编辑而选中的行的外观。 |
EmptyDataRowStyle |
获取对 TableItemStyle 对象的引用,使用该对象可以设置当 GridView 控件绑定到不包含任何记录的数据源时会呈现的空数据行的外观。 |
EmptyDataTemplate |
获取或设置在 GridView 控件绑定到不包含任何记录的数据源时所呈现的空数据行的用户定义内容。 |
EmptyDataText |
获取或设置在 GridView 控件绑定到不包含任何记录的数据源时所呈现的空数据行中显示的文本。 |
Enabled |
获取或设置一个值,该值指示是否启用 Web 服务器控件。 (继承自 WebControl) |
EnableModelValidation |
获取或设置一个值,该值指示验证程序控件是否会处理在插入或更新操作过程中出现的异常。 |
EnablePersistedSelection |
获取或设置一个值,该值指示行的选择是基于索引还是数据键值。 |
EnableSortingAndPagingCallbacks |
获取或设置一个值,该值指示客户端回调是否用于排序和分页操作。 |
EnableTheming |
获取或设置一个值,该值指示主题是否应用于该控件。 (继承自 WebControl) |
EnableViewState |
获取或设置一个值,该值指示服务器控件是否向发出请求的客户端保持自己的视图状态以及它所包含的任何子控件的视图状态。 (继承自 Control) |
Events |
获取控件的事件处理程序委托列表。 此属性为只读。 (继承自 Control) |
Font |
获取与 Web 服务器控件关联的字体属性。 (继承自 WebControl) |
FooterRow |
获取表示 GridViewRow 控件中的脚注行的 GridView 对象。 |
FooterStyle |
获取一个对 TableItemStyle 对象的引用,使用该对象可以设置 GridView 控件中脚注行的外观。 |
ForeColor |
获取或设置 Web 服务器控件的前景色(通常是文本颜色)。 (继承自 WebControl) |
GridLines |
获取或设置 GridView 控件的网格线样式。 |
HasAttributes |
获取一个值,该值指示控件是否具有特性集。 (继承自 WebControl) |
HasChildViewState |
获取一个值,该值指示当前服务器控件的子控件是否具有任何已保存的视图状态设置。 (继承自 Control) |
HeaderRow |
获取表示 GridViewRow 控件中的标题行的 GridView 对象。 |
HeaderStyle |
获取一个对 TableItemStyle 对象的引用,使用该对象可以设置 GridView 控件中的标题行的外观。 |
Height |
获取或设置 Web 服务器控件的高度。 (继承自 WebControl) |
HorizontalAlign |
获取或设置 GridView 控件在页面上的水平对齐方式。 |
ID |
获取或设置分配给服务器控件的编程标识符。 (继承自 Control) |
IdSeparator |
获取用于分隔控件标识符的字符。 (继承自 Control) |
Initialized |
获取一个值,该值指示数据绑定控件是否已经初始化。 (继承自 BaseDataBoundControl) |
InsertMethod |
获取或设置为了插入数据要调用的方法的名称。 (继承自 CompositeDataBoundControl) |
IsBoundUsingDataSourceID |
获取指示是否设置 DataSourceID 属性的值。 (继承自 BaseDataBoundControl) |
IsChildControlStateCleared |
获取一个值,该值指示该控件中包含的控件是否具有控件状态。 (继承自 Control) |
IsDataBindingAutomatic |
获取一个值,该值指示数据绑定是否自动进行。 (继承自 BaseDataBoundControl) |
IsEnabled |
获取一个值,该值指示是否启用控件。 (继承自 WebControl) |
IsTrackingViewState |
获取一个值,用于指示服务器控件是否会将更改保存到其视图状态中。 (继承自 Control) |
IsUsingModelBinders |
获取一个值,该值指示是否使用模型绑定。 (继承自 CompositeDataBoundControl) |
IsViewStateEnabled |
获取一个值,该值指示是否为该控件启用了视图状态。 (继承自 Control) |
ItemType |
获取或设置强类型化数据绑定的数据项目类型的名称。 (继承自 DataBoundControl) |
LoadViewStateByID |
获取一个值,该值指示控件是否通过 ID 而不是索引参与加载其视图状态。 (继承自 Control) |
NamingContainer |
获取对服务器控件的命名容器的引用,此引用创建唯一的命名空间,以区分具有相同 ID 属性值的服务器控件。 (继承自 Control) |
Page |
获取对包含服务器控件的 Page 实例的引用。 (继承自 Control) |
PageCount |
获取在 GridView 控件中显示数据源记录所需的页数。 |
PageIndex |
获取或设置当前显示页的索引。 |
PagerSettings |
获取对 PagerSettings 对象的引用,使用该对象可以设置 GridView 控件中的页导航按钮的属性。 |
PagerStyle |
获取对 TableItemStyle 对象的引用,使用该对象可以设置 GridView 控件中的页导航行的外观。 |
PagerTemplate |
获取或设置 GridView 控件中页导航行的自定义内容。 |
PageSize |
获取或设置 GridView 控件在每页上所显示的记录的数目。 |
Parent |
获取对页 UI 层次结构中服务器控件的父控件的引用。 (继承自 Control) |
RenderingCompatibility |
获取一个值,该值指定呈现的 HTML 将与之兼容的 ASP.NET 版本。 (继承自 Control) |
RequiresDataBinding |
获取或设置一个值,该值指示是否应调用 DataBind() 方法。 (继承自 BaseDataBoundControl) |
RowHeaderColumn |
获取或设置用作 GridView 控件的列标题的列的名称。 提供此属性的目的是使辅助技术设备的用户更易于访问控件。 |
Rows |
获取表示 GridViewRow 控件中数据行的 GridView 对象的集合。 |
RowStyle |
获取对 TableItemStyle 对象的引用,使用该对象可以设置 GridView 控件中的数据行的外观。 |
SelectArguments |
获取数据绑定控件从数据源控件检索数据时使用的 DataSourceSelectArguments 对象。 (继承自 DataBoundControl) |
SelectedDataKey | |
SelectedIndex |
获取或设置 GridView 控件中的选中行的索引。 |
SelectedPersistedDataKey |
获取或设置 GridView 控件中选择的持久项的数据键值。 |
SelectedRow |
获取对 GridViewRow 对象的引用,该对象表示控件中的选中行。 |
SelectedRowStyle |
获取对 TableItemStyle 对象的引用,使用该对象可以设置 GridView 控件中的选中行的外观。 |
SelectedValue |
获取 GridView 控件中选中行的数据键值。 |
SelectMethod |
为了读取数据要调用的方法的名称。 (继承自 DataBoundControl) |
ShowFooter |
获取或设置一个值,该值指示是否在 GridView 控件中显示脚注行。 |
ShowHeader |
获取或设置一个值,该值指示是否在 GridView 控件中显示标题行。 |
ShowHeaderWhenEmpty |
获取或设置一个值,该值指示当列没有数据时 GridView 控件中列的标题是否可见。 |
Site |
获取容器信息,该容器在呈现于设计图面上时承载当前控件。 (继承自 Control) |
SkinID |
获取或设置要应用于控件的外观。 (继承自 WebControl) |
SortDirection |
获取正在排序的列的排序方向。 |
SortedAscendingCellStyle |
获取或设置按升序对列排序时 GridView 列的 CSS 样式。 |
SortedAscendingHeaderStyle |
获取或设置按升序对列进行排序时要应用于 GridView 列标题的 CSS 样式。 |
SortedDescendingCellStyle |
获取或设置按升序对列进行排序时 GridView 列的样式。 |
SortedDescendingHeaderStyle |
获取或设置按降序对列进行排序时要应用于 GridView 列标题的样式。 |
SortExpression |
获取与正在排序的列关联的排序表达式。 |
Style |
获取将在 Web 服务器控件的外部标记上呈现为样式特性的文本特性的集合。 (继承自 WebControl) |
SupportsDisabledAttribute |
获取一个值,该值指示在控件的 |
TabIndex |
获取或设置 Web 服务器控件的选项卡索引。 (继承自 WebControl) |
TagKey |
获取 GridView 控件的 HtmlTextWriterTag 值。 |
TagName |
获取控件标记的名称。 此属性主要由控件开发人员使用。 (继承自 WebControl) |
TemplateControl |
获取或设置对包含该控件的模板的引用。 (继承自 Control) |
TemplateSourceDirectory |
获取包含当前服务器控件的 Page 或 UserControl 的虚拟目录。 (继承自 Control) |
ToolTip |
获取或设置当鼠标指针悬停在 Web 服务器控件上时显示的文本。 (继承自 WebControl) |
TopPagerRow |
获取一个 GridViewRow 对象,该对象表示 GridView 控件中的顶部页导航行。 |
UniqueID |
获取服务器控件的唯一的、以分层形式限定的标识符。 (继承自 Control) |
UpdateMethod |
获取或设置为了更新数据要调用的方法的名称。 |
UpdateMethod |
获取或设置为了更新数据要调用的方法的名称。 (继承自 CompositeDataBoundControl) |
UseAccessibleHeader |
获取或设置一个值,该值指示 GridView 控件是否以易于访问的格式呈现其标题。 提供此属性的目的是使辅助技术设备的用户更易于访问控件。 |
ValidateRequestMode |
获取或设置指示控件是否检查来自浏览器的客户端输入是否具有潜在危险值的值。 (继承自 Control) |
ViewState |
获取状态信息的字典,这些信息使您可以在同一页的多个请求间保存和还原服务器控件的视图状态。 (继承自 Control) |
ViewStateIgnoresCase |
获取一个值,该值指示 StateBag 对象是否不区分大小写。 (继承自 Control) |
ViewStateMode |
获取或设置此控件的视图状态模式。 (继承自 Control) |
VirtualItemCount |
在使用自定义分页时,获取或设置数据源中的实际项数 GridView 控件绑定。 |
Visible |
获取或设置一个值,该值指示服务器控件是否作为 UI 呈现在页上。 (继承自 Control) |
Width |
获取或设置 Web 服务器控件的宽度。 (继承自 WebControl) |
方法
事件
CallingDataMethods |
在数据方法正被调用时发生。 (继承自 DataBoundControl) |
CreatingModelDataSource |
当 ModelDataSource 对象正被创建时发生。 (继承自 DataBoundControl) |
DataBinding |
当服务器控件绑定到数据源时发生。 (继承自 Control) |
DataBound |
在服务器控件绑定到数据源后发生。 (继承自 BaseDataBoundControl) |
Disposed |
当从内存释放服务器控件时发生,这是请求 ASP.NET 页时服务器控件生存期的最后阶段。 (继承自 Control) |
Init |
当服务器控件初始化时发生;初始化是控件生存期的第一步。 (继承自 Control) |
Load |
当服务器控件加载到 Page 对象中时发生。 (继承自 Control) |
PageIndexChanged |
在单击某一页导航按钮时,但在 GridView 控件处理分页操作之后发生。 |
PageIndexChanging |
在单击某一页导航按钮时,但在 GridView 控件处理分页操作之前发生。 |
PreRender |
在加载 Control 对象之后、呈现之前发生。 (继承自 Control) |
RowCancelingEdit |
单击编辑模式中某一行的“取消”按钮以后,在该行退出编辑模式之前发生。 |
RowCommand |
当单击 GridView 控件中的按钮时发生。 |
RowCreated |
在 GridView 控件中创建行时发生。 |
RowDataBound |
在 GridView 控件中将数据行绑定到数据时发生。 |
RowDeleted |
在单击某一行的“删除”按钮时,但在 GridView 控件删除该行之后发生。 |
RowDeleting |
在单击某一行的“删除”按钮时,但在 GridView 控件删除该行之前发生。 |
RowEditing |
发生在单击某一行的“编辑”按钮以后,GridView 控件进入编辑模式之前。 |
RowUpdated |
发生在单击某一行的“更新”按钮,并且 GridView 控件对该行进行更新之后。 |
RowUpdating |
发生在单击某一行的“更新”按钮以后,GridView 控件对该行进行更新之前。 |
SelectedIndexChanged |
发生在单击某一行的“选择”按钮,GridView 控件对相应的选择操作进行处理之后。 |
SelectedIndexChanging |
发生在单击某一行的“选择”按钮以后,GridView 控件对相应的选择操作进行处理之前。 |
Sorted |
在单击用于列排序的超链接时,但在 GridView 控件对相应的排序操作进行处理之后发生。 |
Sorting |
在单击用于列排序的超链接时,但在 GridView 控件对相应的排序操作进行处理之前发生。 |
Unload |
当服务器控件从内存中卸载时发生。 (继承自 Control) |
显式接口实现
扩展方法
EnablePersistedSelection(BaseDataBoundControl) |
已过时.
使选定内容能够保留在支持选择和分页的数据控件中。 |
FindDataSourceControl(Control) |
返回与指定控件的数据控件关联的数据源。 |
FindFieldTemplate(Control, String) |
返回指定控件的命名容器中指定列的字段模板。 |
FindMetaTable(Control) |
返回包含数据控件的元表对象。 |
GetDefaultValues(INamingContainer) |
为指定数据控件获取默认值的集合。 |
GetMetaTable(INamingContainer) |
为指定数据控件获取表元数据。 |
SetMetaTable(INamingContainer, MetaTable) |
为指定数据控件设置表元数据。 |
SetMetaTable(INamingContainer, MetaTable, IDictionary<String,Object>) |
为指定数据控件设置表元数据和默认值映射。 |
SetMetaTable(INamingContainer, MetaTable, Object) |
为指定数据控件设置表元数据和默认值映射。 |
TryGetMetaTable(INamingContainer, MetaTable) |
确定表元数据是否可用。 |
EnableDynamicData(INamingContainer, Type) |
为指定数据控件启用动态数据行为。 |
EnableDynamicData(INamingContainer, Type, IDictionary<String,Object>) |
为指定数据控件启用动态数据行为。 |
EnableDynamicData(INamingContainer, Type, Object) |
为指定数据控件启用动态数据行为。 |