ObjectList.ShowItemCommands Event
Occurs before the commands related to an item in an ObjectList are shown. This API is obsolete. For information about how to develop ASP.NET mobile applications, see the www.asp.net/mobile Web site.
Assembly: System.Web.Mobile (in System.Web.Mobile.dll)
The event argument contains a reference to the item and to the collection of commands. An event handler can customize the collection according to the item. Applications can use the ShowItemCommands event to provide functionality equivalent to item-specific shortcut menus. Changes made to the collection of commands during this event are not persisted.
This event is called after the ItemSelect event is called. You can use this event to perform other tasks before showing the detail view. You can add, remove, or rearrange fields, depending on the item selected in the list view.
The following code example demonstrates how to use the ShowItemCommands event to remove an item from the ObjectListCommandCollection of the detail view of an ObjectList. The item to remove is selected in the list view.
Note |
|---|
The following code sample uses the single-file code model and may not work correctly if copied directly into a code-behind file. This code sample must be copied into an empty text file that has an .aspx extension. For more information, see ASP.NET Web Forms Page Code Model. |
<%@ Page Language="VB" Inherits="System.Web.UI.MobileControls.MobilePage" %> <%@ Register TagPrefix="mobile" Namespace="System.Web.UI.MobileControls" Assembly="System.Web.Mobile" %> <script runat="server"> ' System.Web.UI.MobileControls.ObjectListItem item ' System.Web.UI.MobileControls.ObjectListItemCollection itemColl ' Get the persisted array through postbacks. Private arr As New ArrayList() Public Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) If Not IsPostBack Then ' Create and fill the array arr.Add(new Task("Tomorrow's work", "Yes", 1)) arr.Add(new Task("Today's work", "Yes", 1)) arr.Add(new Task("Yesterday's work", "No", 1)) ' Persist the array in the Session object Session("MyArrayList") = arr ' Associate and bind array to the ' ObjectList for each postback. ObjectList1.DataSource = arr ObjectList1.LabelField = "TaskName" ObjectList1.DataBind() End If End Sub Private Sub SelectCommand(ByVal sender As Object, _ ByVal e As ObjectListCommandEventArgs) ' Get the array from the Session object arr = CType(Session("MyArrayList"), ArrayList) ' Remove selected item from the ObjectLis Dim i As Integer = ObjectList1.SelectedIndex arr.RemoveAt(i) Session("MyArrayList") = arr ' Re-Bind ObjectList to altered ArrayList. ObjectList1.DataSource = arr ObjectList1.LabelField = "TaskName" ObjectList1.DataBind() ObjectList1.ViewMode = ObjectListViewMode.List End Sub Public Sub ShowTaskDetail(ByVal sender As Object, _ ByVal e As ObjectListShowCommandsEventArgs) ' Check conditions, and add or remove ' commands in the detail view. If e.ListItem("Editable").Equals("No") Then ObjectList1.Commands.RemoveAt(0) ElseIf ObjectList1.Commands.Count < 1 Then ObjectList1.Commands.Add(New ObjectListCommand("Delete", "Delete")) End If End Sub Private Class Task Private _TaskName As String Private _Editable As String Private _Days As Integer Public Sub New(ByVal TaskName As String, _ ByVal Editable As String, ByVal Days As Integer) _TaskName = TaskName _Editable = Editable _Days = Days End Sub Public ReadOnly Property TaskName() As String Get Return _TaskName End Get End Property Public ReadOnly Property Editable() As String Get Return _Editable End Get End Property Public ReadOnly Property Days() As Integer Get Return _Days End Get End Property End Class </script> <html xmlns="http:'www.w3.org/1999/xhtml" > <body> <mobile:Form runat="server" id="Form1" > <mobile:ObjectList runat="server" id="ObjectList1" OnItemCommand="SelectCommand" OnShowItemCommands="ShowTaskDetail" > <Command Name="Delete" Text="Delete" /> </mobile:ObjectList> <mobile:Label runat="server" id="Label1" /> <mobile:Label runat="server" id="Label2" /> </mobile:Form> </body> </html>
Available since 1.1
OnShowItemCommands
ObjectList Class
System.Web.UI.MobileControls Namespace
Creating Custom Mobile Controls
Introduction to the ObjectList Control
.jpeg?cs-save-lang=1&cs-lang=vb)