Condividi tramite


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:

Add, AddAt, Remove o RemoveAt

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