ListCommandEventArgs Class
Provides data for the ItemCommand event of a List control.
public class System.Web.UI.MobileControls.ListCommandEventArgs :
System.Web.UI.WebControls.CommandEventArgs
Example
This example shows how you can use the ListCommandEventArgs object and the ListItem properties to display their contents by assigning them to the text property of a label.
<%@ Page Inherits="System.Web.UI.MobileControls.MobilePage"
Language="c#" Debug="true" %>
<script runat="server">
// Persist across multiple postbacks.
static int i,j,k;
class Task
{
private String _TaskName, _Status;
public Task(String TaskName, String Status)
{
_TaskName = TaskName;
_Status = Status;
}
public String TaskName { get { return _TaskName; } }
public String Status { get { return _Status; } }
}
public void Page_Load(Object sender, EventArgs e)
{
if (!IsPostBack)
{
// Initialize static variables to zero.
i = j = k = 0;
// Set initial settings for tasks.
List1.DataValueField="Status";
List1.DataTextField="TaskName";
// Create array and add the tasks to it.
ArrayList arr = new ArrayList();
arr.Add (new Task ("Verify transactions", "Done"));
arr.Add (new Task ("Check balance sheet", "Scheduled"));
arr.Add (new Task ("Send report", "Pending"));
// Associate and bind the List to the ArrayList
List1.DataSource = arr;
List1.DataBind ();
if (List1.HasItemCommandHandler == true)
{
Label1.Text = "List has ItemCommand event handler";
}
else
{
Label1.Text = "List has no ItemCommand event handler";
}
}
}
void TaskSummary(Object sender, ListDataBindEventArgs e)
{
switch (e.ListItem.Value)
{
case "Done":
i++;
break;
case "Scheduled":
j++;
break;
case "Pending":
k++;
break;
Default:
break;
}
Label2.Text = "You have " + i.ToString() + " tasks done, " +
j.ToString() + " tasks scheduled, and " + k.ToString() +
" tasks Pending.";
}
void TaskStatus(Object sender, ListCommandEventArgs e)
{
Label3.Text = e.ListItem.Text +" is " + e.ListItem.Value;
}
void ChangeDataSource(Object sender, EventArgs e)
{
// Reset static variables to zero.
i = j = k = 0;
ArrayList _arr = new ArrayList();
_arr.Add (new Task ("Verify bank transactions", "Done"));
_arr.Add (new Task ("Check company balance sheet", "Done"));
_arr.Add (new Task ("Audit report", "Scheduled"));
List1.DataSource = _arr;
List1.DataBind ();
}
</script>
<mobile:Form runat="server" id="Form1" >
<mobile:Label runat="server" id="Label1" ForeColor=green
Font-Italic=true />
<mobile:List runat="server" id="List1"
OnItemDataBind="TaskSummary" OnItemCommand = "TaskStatus"/>
<mobile:Label runat="server" id="Label2" Font-Italic=true
ForeColor=Red />
<mobile:Label runat="server" id="Label3" Font-Italic=true
ForeColor=Red />
<mobile:Command runat="server" id="Command1"
Text="See 2nd Tasklist" OnClick="ChangeDataSource" />
</mobile:Form>
Requirements
Namespace: System.Web.UI.MobileControls
Assembly: System.Web.Mobile
See Also
ItemCommand | List class | MobileListItem Class | List control