We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date

Character Casing

How Can I Write In Cell Of DataGride With UpperCase?

3 Replies

FR FruitBatInShades October 3, 2002 03:41 AM

Convert the data your adding to uppercase either use:- string.toUpper or ucase(string)


AD Administrator Syncfusion Team October 3, 2002 05:54 AM

The problem is getting at the control thatis handling the keystrokes. When you type in a grid cell, it is an embedded TextBox that gets the keystrokes and not the datagrid. One way you can handle this is to look through all the controls that are parented by the datagrid, and hook a KeyPress eventhandler for each parented textbox. You could do this at the end of Form_Load after the DataGrid has been set up. Here is code that does this.
foreach(Control c in this.dataGrid1.Controls)
{
	TextBox tb = c as TextBox;
	if(tb != null)
	{
		tb.KeyPress += new KeyPressEventHandler(CellKeyPress);
	}
}
Then in your CellKeyPress method, check to see if you are on the cell you want to be uppercase, and if so, handle things. Here is a try at this.
private void CellKeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
{
	if(this.dataGrid1.CurrentRowIndex == 1 && this.dataGrid1.CurrentCell.ColumnNumber == 1)
	{
		TextBox tb = sender as TextBox;
		if(tb != null && char.IsLetter(e.KeyChar) && !char.IsUpper(e.KeyChar))
		{
			SendKeys.Send(char.ToUpper(e.KeyChar).ToString());
			e.Handled = true;
		}
	}
}


BO boshra May 29, 2003 12:04 PM

> How Can I Write In Cell Of DataGride With UpperCase?

Loader.
Live Chat Icon For mobile
Up arrow icon