ListView.ItemCommand Kejadian
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Terjadi ketika tombol dalam kontrol diklik ListView .
public:
event EventHandler<System::Web::UI::WebControls::ListViewCommandEventArgs ^> ^ ItemCommand;
public event EventHandler<System.Web.UI.WebControls.ListViewCommandEventArgs> ItemCommand;
member this.ItemCommand : EventHandler<System.Web.UI.WebControls.ListViewCommandEventArgs>
Public Custom Event ItemCommand As EventHandler(Of ListViewCommandEventArgs)
Jenis Acara
Contoh
Contoh berikut menunjukkan cara membuat penanganan ItemCommand aktivitas.
<%@ 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">
protected void EmployeesListView_OnItemCommand(object sender, ListViewCommandEventArgs e)
{
if (String.Equals(e.CommandName, "AddToList"))
{
// Verify that the employee ID is not already in the list. If not, add the
// employee to the list.
ListViewDataItem dataItem = (ListViewDataItem)e.Item;
string employeeID =
EmployeesListView.DataKeys[dataItem.DisplayIndex].Value.ToString();
if (SelectedEmployeesListBox.Items.FindByValue(employeeID) == null)
{
ListItem item = new ListItem(e.CommandArgument.ToString(), employeeID);
SelectedEmployeesListBox.Items.Add(item);
}
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>Employee List</title>
</head>
<body>
<form id="form1" runat="server">
<asp:ListView runat="server"
ID="EmployeesListView"
OnItemCommand="EmployeesListView_OnItemCommand"
DataSourceID="EmployeesDataSource"
DataKeyNames="EmployeeID">
<LayoutTemplate>
<table runat="server" id="tblEmployees"
cellspacing="0" cellpadding="1" width="440px" border="1">
<tr id="itemPlaceholder" runat="server"></tr>
</table>
<asp:DataPager ID="EmployeesDataPager" runat="server" PageSize="10">
<Fields>
<asp:NumericPagerField />
</Fields>
</asp:DataPager>
</LayoutTemplate>
<ItemTemplate>
<tr runat="server">
<td>
<asp:Label runat="server" ID="NameLabel"
Text='<%#Eval("LastName") + ", " + Eval("FirstName") %>' />
</td>
<td style="width:80px">
<asp:LinkButton runat="server"
ID="SelectEmployeeButton"
Text="Add To List"
CommandName="AddToList"
CommandArgument='<%#Eval("LastName") + ", " + Eval("FirstName") %>' />
</td>
</tr>
</ItemTemplate>
</asp:ListView>
<br /><br />
<b>Selected Employees:</b><br />
<asp:ListBox runat="server" ID="SelectedEmployeesListBox" Rows="10" Width="300px" />
<!-- 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="EmployeesDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
SelectCommand="SELECT [EmployeeID], [FirstName], [LastName]
FROM HumanResources.vEmployee
ORDER BY [LastName], [FirstName], [EmployeeID]">
</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">
Protected Sub EmployeesListView_OnItemCommand(ByVal sender As Object, _
ByVal e As ListViewCommandEventArgs)
If String.Equals(e.CommandName, "AddToList") Then
' Verify that the employee ID is not already in the list. If not, add the
' employee to the list.
Dim dataItem As ListViewDataItem = CType(e.Item, ListViewDataItem)
Dim employeeID As String = _
EmployeesListView.DataKeys(dataItem.DisplayIndex).Value.ToString()
If SelectedEmployeesListBox.Items.FindByValue(employeeID) Is Nothing Then
Dim item As ListItem = _
New ListItem(e.CommandArgument.ToString(), employeeID)
SelectedEmployeesListBox.Items.Add(item)
End If
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head2" runat="server">
<title>Employee List</title>
</head>
<body>
<form id="form1" runat="server">
<asp:ListView runat="server"
ID="EmployeesListView"
OnItemCommand="EmployeesListView_OnItemCommand"
DataSourceID="EmployeesDataSource"
DataKeyNames="EmployeeID">
<LayoutTemplate>
<table runat="server" id="tblEmployees"
cellspacing="0" cellpadding="1" width="440px" border="1">
<tr id="itemPlaceholder" runat="server"></tr>
</table>
<asp:DataPager ID="EmployeesDataPager" runat="server" PageSize="10">
<Fields>
<asp:NumericPagerField />
</Fields>
</asp:DataPager>
</LayoutTemplate>
<ItemTemplate>
<tr runat="server">
<td>
<asp:Label runat="server" ID="NameLabel"
Text='<%#Eval("LastName") & ", " & Eval("FirstName") %>' />
</td>
<td style="width:80px">
<asp:LinkButton runat="server"
ID="SelectEmployeeButton"
Text="Add To List"
CommandName="AddToList"
CommandArgument='<%#Eval("LastName") & ", " & Eval("FirstName") %>' />
</td>
</tr>
</ItemTemplate>
</asp:ListView>
<br /><br />
<b>Selected Employees:</b><br />
<asp:ListBox runat="server" ID="SelectedEmployeesListBox" Rows="10" Width="300px" />
<!-- 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="EmployeesDataSource" runat="server"
ConnectionString="<%$ ConnectionStrings:AdventureWorks_DataConnectionString %>"
SelectCommand="SELECT [EmployeeID], [FirstName], [LastName]
FROM HumanResources.vEmployee
ORDER BY [LastName], [FirstName], [EmployeeID]">
</asp:SqlDataSource>
</form>
</body>
</html>
Keterangan
Peristiwa ItemCommand dinaikkan saat tombol dalam kontrol diklik ListView . Ini memungkinkan Anda untuk melakukan rutinitas kustom setiap kali peristiwa ini terjadi.
Tombol dalam ListView kontrol juga dapat memanggil fungsionalitas kontrol bawaan. Tabel berikut ini mencantumkan nilai yang bisa Anda gunakan dengan CommandName properti tombol untuk memanggil fungsionalitas bawaan.
Nilai CommandName | Deskripsi |
---|---|
"Batal" | Membatalkan operasi edit atau sisipkan. Memunculkan kejadian ItemCanceling. |
"Hapus" | Menghapus rekaman saat ini dari sumber data. Menaikkan ItemDeleted peristiwa dan ItemDeleting . |
"Pilih" | SelectedIndex Mengatur properti ke DisplayIndex nilai properti untuk item. Merender SelectedItemTemplate templat untuk item. Menaikkan SelectedIndexChanging peristiwa dan SelectedIndexChanged . |
"Edit" | Menempatkan item dalam mode edit. Merender EditItemTemplate templat untuk item. Memunculkan kejadian ItemEditing. |
"Sisipkan" | Menyisipkan nilai terikat dari InsertItemTemplate templat ke dalam sumber data. Menaikkan ItemInserting peristiwa dan ItemInserted . |
"Perbarui" | Memperbarui rekaman saat ini di sumber data dengan nilai terikat dari EditItemTemplate templat. Menaikkan ItemUpdating peristiwa dan ItemUpdated . |
"Sortir" | Mengurutkan kolom yang tercantum dalam CommandArgument properti tombol. Menaikkan Sorting peristiwa dan Sorted . |
Peristiwa ItemCommand juga dinaikkan saat tombol yang tercantum dalam tabel sebelumnya diklik. Namun, disarankan agar Anda menggunakan peristiwa yang tercantum dalam tabel. Kejadian ItemCommand ini biasanya digunakan untuk menangani operasi kustom.
Objek ListViewCommandEventArgs diteruskan ke penanganan aktivitas, yang memungkinkan Anda menentukan nama perintah dan argumen perintah tombol yang diklik. Untuk menentukan nama perintah, gunakan CommandEventArgs.CommandName properti . Untuk menentukan argumen perintah, gunakan CommandEventArgs.CommandArgument properti . Untuk mengakses kontrol yang menaikkan peristiwa, gunakan ListViewCommandEventArgs.CommandSource properti .
Untuk informasi selengkapnya tentang cara menangani peristiwa, lihat Menangani dan Menaikkan Peristiwa.