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 управления предоставляет несколько событий, которые можно использовать для выполнения настраиваемого действия при обновлении записи. В следующей таблице перечислены доступные события.
Событие | Описание |
---|---|
ItemUpdated | Происходит при нажатии кнопки "Обновить", но после DetailsView обновления записи элементом управления. Это событие часто используется для проверки результатов операции обновления. |
ItemUpdating | Происходит при нажатии кнопки "Обновить", но перед обновлением DetailsView записи элементом управления. Это событие часто используется для отмены операции обновления. |
ModeChanged | Происходит после DetailsView изменения режима элемента управления. |
ModeChanging | Происходит перед изменением DetailsView режимов элемента управления. Это событие часто используется для отмены изменения режима. |
Значение AutoGenerateEditButton сохраняется в состоянии представления.