ListView.UpdateItem(Int32, Boolean) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Обновляет запись по указанному индексу в источнике данных.
public:
virtual void UpdateItem(int itemIndex, bool causesValidation);
public virtual void UpdateItem (int itemIndex, bool causesValidation);
abstract member UpdateItem : int * bool -> unit
override this.UpdateItem : int * bool -> unit
Public Overridable Sub UpdateItem (itemIndex As Integer, causesValidation As Boolean)
Параметры
- itemIndex
- Int32
Индекс обновляемого элемента.
- causesValidation
- Boolean
true
для проверки страницы при вызове данного метода; в противном случае — false
.
Исключения
Значение параметраitemIndex
меньше 0.
-или-
Объект DataSourceView, связанный с элементом управления ListView, имеет значение null
.
Примеры
В следующем примере показано, как использовать UpdateItem метод для программного ListView обновления элемента в источнике данных.
<%@ Page language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
// <Snippet2>
protected void PreferredCheckBox_CheckedChanged(object sender, EventArgs e)
{
// Gets the CheckBox object that fired the event.
CheckBox chkBox = (CheckBox) sender;
// Gets the item that contains the CheckBox object.
ListViewDataItem item = (ListViewDataItem) chkBox.Parent.Parent;
// Update the database with the changes.
VendorsListView.UpdateItem(item.DisplayIndex, false);
}
// </Snippet2>
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>ListView UpdateItem Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>ListView UpdateItem Example</h3>
<asp:ListView ID="VendorsListView"
DataSourceID="VendorsDataSource"
DataKeyNames="VendorID"
runat="server">
<LayoutTemplate>
Select your preferred vendors:
<ul runat="server" id="lstVendors" style="text-align:left">
<li runat="server" id="itemPlaceholder" />
</ul>
<asp:DataPager ID="VendorsDataPager" runat="server" PageSize="15">
<Fields>
<asp:NumericPagerField ButtonCount="10" />
</Fields>
</asp:DataPager>
</LayoutTemplate>
<ItemTemplate>
<li runat="server">
<asp:CheckBox runat="server" ID="PreferredCheckBox" AutoPostBack="True"
Checked='<%# Bind("PreferredVendorStatus") %>'
OnCheckedChanged="PreferredCheckBox_CheckedChanged" />
<asp:Label runat="server" ID="NameLabel" text='<%# Eval("Name") %>' /><br/>
</li>
</ItemTemplate>
</asp:ListView>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the AdventureWorks sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the Web.config file. -->
<asp:SqlDataSource ID="VendorsDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
SelectCommand="SELECT VendorID, Name, PreferredVendorStatus
FROM Purchasing.Vendor WHERE (ActiveFlag = 1)"
UpdateCommand="UPDATE Purchasing.Vendor
SET PreferredVendorStatus = @PreferredVendorStatus
WHERE (VendorID = @VendorID)" >
</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">
<script runat="server">
' <Snippet2>
Protected Sub PreferredCheckBox_CheckedChanged(ByVal sender As Object, ByVal e As EventArgs)
' Gets the CheckBox object that fired the event.
Dim chkBox As CheckBox = CType(sender, CheckBox)
' Gets the item that contains the CheckBox object.
Dim item As ListViewDataItem = CType(chkBox.Parent.Parent, ListViewDataItem)
' Update the database with the changes.
VendorsListView.UpdateItem(item.DisplayIndex, False)
End Sub
' </Snippet2>
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>ListView UpdateItem Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>ListView UpdateItem Example</h3>
<asp:ListView ID="VendorsListView"
DataSourceID="VendorsDataSource"
DataKeyNames="VendorID"
runat="server">
<LayoutTemplate>
Select your preferred vendors:
<ul runat="server" id="lstVendors" style="text-align:left">
<li runat="server" id="itemPlaceholder" />
</ul>
<asp:DataPager ID="VendorsDataPager" runat="server" PageSize="15">
<Fields>
<asp:NumericPagerField ButtonCount="10" />
</Fields>
</asp:DataPager>
</LayoutTemplate>
<ItemTemplate>
<li runat="server">
<asp:CheckBox runat="server" ID="PreferredCheckBox" AutoPostBack="True"
Checked='<%# Bind("PreferredVendorStatus") %>'
OnCheckedChanged="PreferredCheckBox_CheckedChanged" />
<asp:Label runat="server" ID="NameLabel" text='<%# Eval("Name") %>' /><br/>
</li>
</ItemTemplate>
</asp:ListView>
<!-- This example uses Microsoft SQL Server and connects -->
<!-- to the AdventureWorks sample database. Use an ASP.NET -->
<!-- expression to retrieve the connection string value -->
<!-- from the Web.config file. -->
<asp:SqlDataSource ID="VendorsDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
SelectCommand="SELECT VendorID, Name, PreferredVendorStatus
FROM Purchasing.Vendor WHERE (ActiveFlag = 1)"
UpdateCommand="UPDATE Purchasing.Vendor
SET PreferredVendorStatus = @PreferredVendorStatus
WHERE (VendorID = @VendorID)" >
</asp:SqlDataSource>
</form>
</body>
</html>
Комментарии
Используйте метод для UpdateItem программного обновления записи по указанному индексу в источнике данных. Обычно этот метод используется, если требуется обновить запись за пределами ListView элемента управления, например из другого элемента управления на странице.
Примечание
Этот метод можно вызывать только для элемента, содержащего элемент управления входными данными с двусторонним доступом. Дополнительные сведения о выражениях двусторонней привязки см. в разделе Привязка к базам данных.
Чтобы указать, выполняется ли проверка страницы перед операцией обновления, используйте causesValidation
параметр .
Этот метод вызывает ItemUpdated события и ItemUpdating .