2 * Namespace: System.Web.UI.WebControls
\r
3 * Class: ValidatedControlConverter
\r
5 * Author: Gaurav Vaish
\r
6 * Maintainer: gvaish@iitk.ac.in
\r
7 * Contact: <my_scripts2001@yahoo.com>, <gvaish@iitk.ac.in>
\r
8 * Implementation: yes
\r
11 * (C) Gaurav Vaish (2002)
\r
15 using System.ComponentModel;
\r
16 using System.Collections;
\r
18 using System.Web.UI;
\r
20 namespace System.Web.UI.WebControls
\r
22 public class ValidatedControlConverter : StringConverter
\r
24 public ValidatedControlConverter(): base()
\r
28 private object[] GetValues(IContainer container)
\r
30 ArrayList values = new ArrayList();
\r
31 IEnumerator ie = container.Components.GetEnumerator();
\r
34 foreach(IComponent current in container.Components)
\r
36 Control ctrl = (Control)current;
\r
37 if(ctrl == null || ctrl.ID == null || ctrl.ID.Length == 0)
\r
39 ValidationPropertyAttribute attrib = (ValidationPropertyAttribute)((TypeDescriptor.GetAttributes(ctrl))[typeof(ValidationPropertyAttribute)]);
\r
40 if(attrib == null || attrib.Name == null)
\r
42 values.Add(String.Copy(ctrl.ID));
\r
46 if(ie is IDisposable)
\r
47 ((IDisposable)ie).Dispose();
\r
50 return values.ToArray();
\r
53 public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
\r
55 if(context != null && context.Container != null)
\r
57 object[] values = GetValues(context.Container);
\r
60 return new StandardValuesCollection(values);
\r
66 public override bool GetStandardValuesExclusive(ITypeDescriptorContext context)
\r
71 public override bool GetStandardValuesSupported(ITypeDescriptorContext context)
\r