Click here to Skip to main content
15,881,516 members
Articles / Programming Languages / C#

Property Grid - Dynamic List ComboBox, Validation, and More

Rate me:
Please Sign up or sign in to vote.
4.57/5 (20 votes)
25 Sep 2009CPOL17 min read 167.3K   11.2K   90  
A PropertyGrid implementation showing how-to use, best practices, validation, and more.
using System;
using System.Collections;
using System.ComponentModel;

namespace CarApplication.Converters
{
	class ListPropertyDescriptor<C, T> : PropertyDescriptor where C : IList
	{
		private readonly T _dataObject;

		public ListPropertyDescriptor( string name, T dataObject )
			: base( name, null )
		{
			this._dataObject = dataObject;
		}


		public override bool CanResetValue( object component )
		{
			return ( false );
		}

		public override Type ComponentType
		{
			get { return ( typeof( C ) ); }
		}

		public override object GetValue( object component )
		{
			return ( this._dataObject );
		}

		public override bool IsReadOnly
		{
			get { return ( true ); }
		}

		public override Type PropertyType
		{
			get { return ( this._dataObject.GetType() ); }
		}

		public override void ResetValue( object component )
		{
			// Nothing to do
		}

		public override void SetValue( object component, object value )
		{
			// Nothing to do
		}

		public override bool ShouldSerializeValue( object component )
		{
			return ( false );
		}
	}
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior) Webbert Solutions
United States United States
Dave is an independent consultant working in a variety of industries utilizing Microsoft .NET technologies.

Comments and Discussions