Classe ObjectListFieldCollection
Rappresenta un insieme di oggetti ObjectListField.
public class System.Web.UI.MobileControls.ObjectListFieldCollection :
System.Web.UI.MobileControls.ArrayListCollectionBase,
System.Web.UI.MobileControls.IObjectListFieldCollection,
System.Web.UI.IStateManager
Osservazioni
In questo oggetto di classe è disponibile il contenitore per i campi relativi a un controllo ObjectList. L'accesso alla proprietà Fields di un controllo ObjectList consente il recupero di un oggetto ObjectListFieldCollection.
Le proprietà e i metodi della classe ObjectListFieldCollection costituiscono un superset dell'interfaccia IObjectListFieldCollection. È possibile applicare tutte le proprietà e i metodi di tale interfaccia, inclusi quelli ereditati dall'interfaccia ASP.NET System.Collections.ICollection. La classe rende disponibili proprietà e metodi aggiuntivi per la modifica dell'insieme. Inoltre, in tali proprietà e metodi sono disponibili le funzionalità standard per la gestione degli insiemi, quali l'aggiunta, la rimozione e la cancellazione.
Se si modifica l'insieme chiamando uno dei seguenti metodi durante Page_Init, viene ignorato lo stato di visualizzazione delle proprietà Fields, Items e ViewMode relative all'elenco di oggetti:
Esempio
Durante il caricamento iniziale della pagina, vengono create le istanze di ciascun oggetto ObjectListField e vengono impostate le corrispondenti proprietà DataField e Title. Nell'esempio vengono quindi aggiunti in modo esplicito gli elementi ObjectListField all'oggetto ObjectListFieldCollection.
<%@ Page Inherits="System.Web.UI.MobileControls.MobilePage"
Language="c#" Debug="true" %>
<script Language="c#" runat="server">
class Book
{
private String _BookName, _Author, _InStock;
public Book(String BookName, String Author, String InStock)
{
_BookName = BookName;
_Author = Author;
_InStock = InStock;
}
public String BookName { get { return _BookName; } }
public String Author { get { return _Author; } }
public String InStock { get { return _InStock; } }
}
public void Page_Load(Object sender, EventArgs e)
{
if (!IsPostBack)
{
// Create and fill array.
ArrayList arr = new ArrayList();
arr.Add (new Book ("Sushi, Anyone?", "O'Leary", "Yes"));
arr.Add (new Book ("Secrets of Silicon Valley", "Dull", "No"));
arr.Add (new Book ("Net Etiquette", "Locksley", "Yes"));
arr.Add (new Book ("The Gourmet Microwave", "Ringer", "No"));
// Associate array to ObjectList.
ObjectList1.DataSource = arr;
// Use the Title attribute to specify the field to be used
// as a title.
ObjectList1.LabelField = "BookName";
ObjectList1.AutoGenerateFields=false ;
// Add the ObjectListFields to the ObjectListFieldCollection
// of ObjectList1.
ObjectListField ListField1 = new ObjectListField();
ListField1.DataField = "BookName";
ListField1.Title = "BookName";
ObjectList1.Fields.Add(ListField1);
ListField1 = new ObjectListField();
ListField1.DataField = "Author";
ListField1.Title = "Author";
ObjectList1.Fields.Add(ListField1);
ListField1 = new ObjectListField();
ListField1.DataField = "InStock";
ListField1.Title = "InStock";
ObjectList1.Fields.Add(ListField1);
// Bind to the ObjectList.
ObjectList1.DataBind();
// Store the datasource in a session variable so that
// the datasource can persist across multiple postbacks.
Session["MyArray"] = arr;
}
// Access all fields by using a foreach loop.
foreach (ObjectListField f in ObjectList1.Fields)
{
TxtVw.Text += f.Title + " field is bound to DataItem " +
f.DataField.ToString() + "</br>";
}
}
void CommandClick(Object sender, ObjectListCommandEventArgs e)
{
ObjectList1.Fields.RemoveAt(1);
// Associate the array to an object list.
ObjectList1.DataSource = (ArrayList) Session["MyArray"];
// Must bind data again.
ObjectList1.DataBind();
}
</script>
<mobile:Form runat="server" id="Form1" >
<mobile:ObjectList runat="server" id="ObjectList1"
OnItemCommand="CommandClick" >
<command Name="RemoveField" Text="Remove Second Field" />
</mobile:ObjectList>
<mobile:Label runat="server" id="Label1" />
<mobile:Label runat="server" id="Label2" />
<mobile:TextView runat=server ID="TxtVw" />
</mobile:Form>
Requisiti
Spazio dei nomi: System.Web.UI.MobileControls
Assembly: System.Web.Mobile
Vedere anche
Classe ObjectListField