DetailsView.AutoGenerateInsertButton Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Возвращает или задает значение, позволяющее определить, отображаются ли встроенные элементы управления для вставки новых записей в элементе управления DetailsView.
public:
virtual property bool AutoGenerateInsertButton { bool get(); void set(bool value); };
public virtual bool AutoGenerateInsertButton { get; set; }
member this.AutoGenerateInsertButton : bool with get, set
Public Overridable Property AutoGenerateInsertButton As Boolean
Значение свойства
Значение true
для отображения встроенных элементов управления, используемых для вставки новых записей; в противном случае — значение false
. Значение по умолчанию — false
.
Примеры
В следующем примере кода показано, как использовать AutoGenerateInsertButton свойство для отображения встроенных элементов управления для вставки новой записи в элемент управления DetailsView .
<%@ 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 AutoGenerateInsertButton Example</title>
</head>
<body>
<form id="Form1" runat="server">
<h3>DetailsView AutoGenerateInsertButton Example</h3>
<asp:detailsview id="CustomerDetailView"
datasourceid="DetailsViewSource"
datakeynames="CustomerID"
autogenerateinsertbutton="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 AutoGenerateInsertButton Example</title>
</head>
<body>
<form id="Form1" runat="server">
<h3>DetailsView AutoGenerateInsertButton Example</h3>
<asp:detailsview id="CustomerDetailView"
datasourceid="DetailsViewSource"
datakeynames="CustomerID"
autogenerateinsertbutton="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.InsertCommand свойство должно быть задано с помощью инструкции запроса insert.
Если свойству AutoGenerateInsertButton присвоено значение true
, в DetailsView элементе CommandField управления автоматически отображается поле строки с кнопкой Создать. При нажатии кнопки Создать этот элемент управления переводится DetailsView в режим вставки. В режиме вставки каждое связанное поле в элементе управления, которое не доступно только для чтения, отображает соответствующий TextBox элемент управления входными данными, например элемент управления, для типа данных поля. Это позволяет пользователю ввести значение поля для новой записи.
При нажатии кнопки Создать также заменяются кнопками Вставка и Отмена. Нажатие кнопки Вставка вставляет новую запись в источник данных и возвращает элемент управления в режим, заданный свойством DefaultMode . Нажатие кнопки Отмена отменяет операцию вставки и возвращает элемент управления в режим по умолчанию.
Примечание
Чтобы поместить строку в режим вставки программным способом ChangeMode , используйте метод .
Вы можете управлять внешним видом записи, которая находится в режиме InsertRowStyle вставки, с помощью свойства . Общие параметры обычно включают настраиваемый цвет фона, цвет переднего плана и свойства шрифта.
Элемент DetailsView управления предоставляет несколько событий, которые можно использовать для выполнения настраиваемого действия при вставке новой записи. В следующей таблице перечислены доступные события.
Событие | Описание |
---|---|
ItemInserted | Происходит при нажатии кнопки Вставка, но после DetailsView того, как элемент управления вставляет запись. Это событие часто используется для проверки результатов операции вставки. |
ItemInserting | Происходит при нажатии кнопки Вставка, но до того, как DetailsView элемент управления вставляет запись. Это событие часто используется для отмены операции вставки. |
ModeChanged | Происходит после DetailsView изменения режимов элемента управления. |
ModeChanging | Происходит до того, как DetailsView элемент управления изменит режимы. Это событие часто используется для отмены изменения режима. |
Значение AutoGenerateInsertButton хранится в состоянии представления.