2 * Namespace: System.Web.UI.WebControls
\r
5 * Author: Gaurav Vaish
\r
6 * Maintainer: gvaish@iitk.ac.in
\r
7 * Contact: <my_scripts2001@yahoo.com>, <gvaish@iitk.ac.in>
\r
10 * (C) Gaurav Vaish (2001)
\r
14 using System.Collections;
\r
15 using System.ComponentModel;
\r
17 using System.Web.UI;
\r
19 namespace System.Web.UI.WebControls
\r
21 public class ListControl: WebControl
\r
23 private static readonly object SelectedIndexChangedEvent = new object();
\r
25 private object dataSource;
\r
26 private ListItemCollection items;
\r
28 public ListControl(): base(HtmlTextWriterTag.Select)
\r
32 public event EventHandler SelectedIndexChanged
\r
36 Events.AddHandler(SelectedIndexChangedEvent, value);
\r
40 Events.RemoveHandler(SelectedIndexChangedEvent, value);
\r
44 protected virtual void OnSelectedIndexChanged(EventArgs e)
\r
48 EventHandler eh = (EventHandler)(Events[SelectedIndexChangedEvent]);
\r
54 public virtual bool AutoPostBack
\r
58 object o = ViewState["AutoPostBack"];
\r
65 ViewState["AutoPostBack"] = value;
\r
69 public virtual string DataMember
\r
73 object o = ViewState["DataMember"];
\r
76 return String.Empty;
\r
80 ViewState["DataMember"] = value;
\r
84 public virtual object DataSource
\r
94 if(value is IListSource || value is IEnumerable)
\r
100 throw new ArgumentException(/*HttpRuntime.FormatResourceString(ID, "Invalid DataSource Type")*/);
\r
104 public virtual string DataTextField
\r
108 object o = ViewState["DataTextField"];
\r
111 return String.Empty;
\r
115 ViewState["DataTextField"] = value;
\r
119 public virtual string DataTextFormatString
\r
123 object o = ViewState["DataTextFormatString"];
\r
126 return String.Empty;
\r
130 ViewState["DataTextFormatString"] = value;
\r
134 public virtual string DataValueField
\r
138 object o = ViewState["DataValueField"];
\r
141 return String.Empty;
\r
145 ViewState["DataValueField"] = value;
\r
149 public virtual ListItemCollection Items
\r
155 items = new ListItemCollection();
\r
156 if(IsTrackingViewState)
\r
158 //items.TrackViewState();
\r
165 public virtual int SelectedIndex
\r
169 object o = ViewState["SelectedIndex"];
\r
176 ViewState["SelectedIndex"] = value;
\r
180 public virtual ListItem SelectedItem
\r
184 if(SelectedIndex > 0)
\r
186 return Items[SelectedIndex];
\r
192 internal virtual ArrayList SelectedIndexes
\r
196 ArrayList retVal = new ArrayList();
\r
198 while(index < Items.Count)
\r
200 retVal.Add(Items[index++]);
\r
206 internal void Select(ArrayList whatToSelect)
\r
210 while(i < whatToSelect.Count)
\r
212 int index = (int)whatToSelect[i++];
\r
215 Items[index].Selected = true;
\r
220 public virtual void ClearSelection()
\r
222 //TODO: Found it - an undocumented method
\r
225 protected override void LoadViewState(object savedState)
\r
227 //TODO: Implement me
\r
228 throw new NotImplementedException();
\r