DetailsView.AutoGenerateEditButton Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает значение, указывающее, отображаются ли встроенные элементы управления для изменения текущей записи в элементе DetailsView управления.
public:
virtual property bool AutoGenerateEditButton { bool get(); void set(bool value); };
public virtual bool AutoGenerateEditButton { get; set; }
member this.AutoGenerateEditButton : bool with get, set
Public Overridable Property AutoGenerateEditButton As Boolean
Значение свойства
true для отображения встроенных элементов управления для изменения текущей записи; falseв противном случае . Значение по умолчанию — false.
Примеры
В следующем примере кода показано, как использовать AutoGenerateEditButton свойство для отображения встроенных элементов управления для изменения текущей записи.
<%@ Page language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>DetailsView AutoGenerateEditButton Example</title>
</head>
<body>
<form id="Form1" runat="server">
<h3>DetailsView AutoGenerateEditButton Example</h3>
<asp:detailsview id="CustomerDetailView"
datasourceid="DetailsViewSource"
datakeynames="CustomerID"
autogenerateeditbutton="true"
autogeneraterows="true"
allowpaging="true"
runat="server">
<headerstyle backcolor="Navy"
forecolor="White"/>
</asp:detailsview>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Northwind sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the web.config file. -->
<asp:SqlDataSource ID="DetailsViewSource" runat="server"
ConnectionString=
"<%$ ConnectionStrings:NorthWindConnectionString%>"
InsertCommand="INSERT INTO [Customers]([CustomerID],
[CompanyName], [Address], [City], [PostalCode], [Country])
VALUES (@CustomerID, @CompanyName, @Address, @City,
@PostalCode, @Country)"
SelectCommand="Select [CustomerID], [CompanyName],
[Address], [City], [PostalCode], [Country]
From [Customers]">
</asp:SqlDataSource>
</form>
</body>
</html>
<%@ Page language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>DetailsView AutoGenerateEditButton Example</title>
</head>
<body>
<form id="Form1" runat="server">
<h3>DetailsView AutoGenerateEditButton Example</h3>
<asp:detailsview id="CustomerDetailView"
datasourceid="DetailsViewSource"
datakeynames="CustomerID"
autogenerateeditbutton="true"
autogeneraterows="true"
allowpaging="true"
runat="server">
<headerstyle backcolor="Navy"
forecolor="White"/>
</asp:detailsview>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the Northwind sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the web.config file. -->
<asp:SqlDataSource ID="DetailsViewSource" runat="server"
ConnectionString=
"<%$ ConnectionStrings:NorthWindConnectionString%>"
InsertCommand="INSERT INTO [Customers]([CustomerID],
[CompanyName], [Address], [City], [PostalCode], [Country])
VALUES (@CustomerID, @CompanyName, @Address, @City,
@PostalCode, @Country)"
SelectCommand="Select [CustomerID], [CompanyName],
[Address], [City], [PostalCode], [Country]
From [Customers]">
</asp:SqlDataSource>
</form>
</body>
</html>
Комментарии
Если элемент управления источником данных, поддерживающий обновление, привязан к DetailsView элементу управления, DetailsView элемент управления может воспользоваться возможностями системы управления версиями данных и обеспечить функции автоматического обновления.
Замечание
Чтобы элемент управления источником данных обновлял данные, его SqlDataSource.UpdateCommand свойство должно быть задано с помощью инструкции запроса обновления.
AutoGenerateEditButton Если для свойства задано trueзначение, CommandField поле строки с кнопкой "Изменить" автоматически отображается в элементе DetailsView управления. Нажатие кнопки "Изменить" помещает этот DetailsView элемент управления в режим редактирования. В режиме редактирования каждое ограничивающее поле элемента управления, которое не доступно только для чтения, отображает соответствующий входной элемент управления, например TextBox элемент управления, для типа данных поля. Это позволяет пользователю изменять значение поля.
При нажатии кнопки "Изменить" также заменяется кнопкой "Обновить" и кнопкой "Отмена". Нажатие кнопки "Обновить" обновляет запись в источнике данных с любым изменением значения и возвращает элемент управления в режим, указанный DefaultMode свойством. Нажатие кнопки "Отмена" отменяет любые изменения значений и возвращает элемент управления в режим по умолчанию.
Замечание
Чтобы поместить DetailsView элемент управления в режим редактирования программным способом ChangeMode , используйте этот метод.
AutoGenerateRows Если свойство также заданоtrue, DetailsView элемент управления автоматически гарантирует, что поле или поля, указанные в свойствеDataKeyNames, доступны только для чтения.
Замечание
Если вы не реализуете собственные функции обновления, необходимо задать DataKeyNames свойство для работы функции автоматического обновления.
Вы можете контролировать внешний вид строк данных, когда DetailsView элемент управления находится в режиме редактирования с помощью EditRowStyle свойства. Общие параметры обычно включают настраиваемый цвет фона, цвет переднего плана и свойства шрифта.
Элемент DetailsView управления предоставляет несколько событий, которые можно использовать для выполнения пользовательского действия при обновлении записи. В следующей таблице перечислены доступные события.
| Event | Описание |
|---|---|
| ItemUpdated | Происходит при нажатии кнопки "Обновить", но после DetailsView обновления записи элементом управления. Это событие часто используется для проверки результатов операции обновления. |
| ItemUpdating | Происходит при нажатии кнопки "Обновить", но перед обновлением DetailsView записи элементом управления. Это событие часто используется для отмены операции обновления. |
| ModeChanged | Происходит после DetailsView изменения режима элемента управления. |
| ModeChanging | Происходит перед изменением режимов DetailsView элемента управления. Это событие часто используется для отмены изменения режима. |
Значение AutoGenerateEditButton хранится в состоянии представления.