Click here to Skip to main content
15,895,480 members
Articles / Programming Languages / C#

SourceGrid - Open Source C# Grid Control

Rate me:
Please Sign up or sign in to vote.
4.94/5 (429 votes)
4 Aug 2013MIT24 min read 5M   23.7K   1K  
SourceGrid is a free open source grid control. Supports virtual grid, custom cells and editors, advanced formatting options and many others features
using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;

using System.Windows.Forms;


namespace SourceGrid.Models
{
	public class EditorDateTime : EditorControlBase
	{
		public EditorDateTime()
		{
		}

		#region Edit Control
		public override Control CreateEditorControl()
		{
			System.Windows.Forms.DateTimePicker l_dtPicker = new DateTimePicker();
			l_dtPicker.Format = DateTimePickerFormat.Short;
			return l_dtPicker;
		}
		public System.Windows.Forms.DateTimePicker DateTimePicker
		{
			get{return (System.Windows.Forms.DateTimePicker)EditControl;}
		}
		#endregion

		public override void StartEdit(Cell p_Cell, object p_StartEditValue)
		{
			base.StartEdit(p_Cell, p_StartEditValue);

			if (p_StartEditValue != null)
			{
				if (p_StartEditValue is DateTime)
					DateTimePicker.Value = (DateTime)p_StartEditValue;
				else if (p_StartEditValue == null)
					DateTimePicker.Value = DateTime.Now;
				else
					throw new ApplicationException("Invalid StartEditValue, expected DateTime");
			}
			else
			{
				if (p_Cell.Value is DateTime)
					DateTimePicker.Value = (DateTime)p_Cell.Value;
				else if (p_Cell.Value == null)
					DateTimePicker.Value = DateTime.Now;
				else
					throw new ApplicationException("Invalid cell value, expected DateTime");
			}
		}

		public override object GetEditedValue()
		{
			return DateTimePicker.Value;
		}
	}
}

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 MIT License


Written By
Software Developer
Italy Italy
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions