//NOTE: this snippet is assumed to be in a codebehind event handler CollectionClass c = new CollectionClass(); this.ListBox1.DataSource = c; this.ListBox1.DataTextField = "Description"; this.ListBox1.DataValueField = "ID"; this.ListBox1.DataBind();
class DataClass{ public string Description{ get{return description;} set{description = value;} } public int ID{ get{return id;} set{id = value;} } private string description; private int id; } class CollectionClass : System.Collections.IEnumerable, System.Collections.IEnumerator{ private int current; private int count; private DataClass[] privatedata; public CollectionClass(){ privatedata = new DataClass[10]; for(int i=0; i<10; i++){ privatedata[i]=new DataClass(); privatedata[i].ID = i; privatedata[i].Description = "IEnumerable item " + i; } current = -1; count = 10; } #region Implementation of IEnumerable public System.Collections.IEnumerator GetEnumerator() { return this; } #endregion}
#region Implementation of IEnumerator public void Reset() { current = -1; } public bool MoveNext() { current++; return (current < count); } public object Current { get { return privatedata[current]; } } #endregion } |