Click here to Skip to main content
15,886,362 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 4.8M   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;

namespace SourceGrid
{
	public delegate void ValidatingEventHandler(object sender, ValidatingEventArgs e);
	public delegate void ValidatingCellEventHandler(object sender, ValidatingCellEventArgs e);


	public delegate void CellEventHandler(object sender, CellEventArgs e);

	public class ScrollPositionChangedEventArgs : EventArgs
	{
		private int m_NewValue;
		private int m_OldValue;
		public int NewValue
		{
			get{return m_NewValue;}
		}
		public int OldValue
		{
			get{return m_OldValue;}
		}
		public int Delta
		{
			get{return m_OldValue-m_NewValue;}
		}

		public ScrollPositionChangedEventArgs(int p_NewValue, int p_OldValue)
		{
			m_NewValue = p_NewValue;
			m_OldValue = p_OldValue;
		}
	}
	public delegate void ScrollPositionChangedEventHandler(object sender, ScrollPositionChangedEventArgs e);


	public class RowEventArgs : EventArgs
	{
		protected int m_Row;
		public int Row
		{
			get{return m_Row;}
			set{m_Row = value;}
		}
		public RowEventArgs(int p_Row)
		{
			m_Row = p_Row;
		}
	}
	public class ColumnEventArgs : EventArgs
	{
		protected int m_Column;
		public int Column
		{
			get{return m_Column;}
			set{m_Column = value;}
		}
		public ColumnEventArgs(int p_Column)
		{
			m_Column = p_Column;
		}
	}

	public class ValidatingEventArgs : System.ComponentModel.CancelEventArgs
	{
		private object m_NewValue;
		public ValidatingEventArgs(object p_NewValue):base(false)
		{
			m_NewValue = p_NewValue;
		}
		public object NewValue
		{
			get{return m_NewValue;}
			set{m_NewValue = value;}
		}
	}

	public class ValidatingCellEventArgs : ValidatingEventArgs
	{
		private Cell m_Cell;
		public ValidatingCellEventArgs(Cell p_Cell, object p_NewValue):base(p_NewValue)
		{
			m_Cell = p_Cell;
		}

		public Cell Cell
		{
			get{return m_Cell;}
		}
	}

	public class CellEventArgs : EventArgs
	{
		protected Cell m_Cell;
		public CellEventArgs(Cell p_Cell)
		{
			m_Cell = p_Cell;
		}

		public Cell Cell
		{
			get{return m_Cell;}
			set{m_Cell = value;}
		}

	}
	
	public class CellArrayEventArgs : EventArgs
	{
		protected Cell[] m_Cell;
		public CellArrayEventArgs(Cell[] p_Cell)
		{
			m_Cell = p_Cell;
		}

		public Cell[] Cells
		{
			get{return m_Cell;}
			set{m_Cell = 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