Боюсь, что нет стандартного свойства для форматирования текста так, как вы хотите.
Если вы действительно не хотите использовать различные события DGV для форматирования текста, вы всегда можете создать свои собственные компоненты DGV, которые делают то, что вы хотите, и использовать их вместо стандартных компонентов DGV. Эта статья в MSDN поможет вам начать работу.
ИЗМЕНИТЬ
Вот запись в блоге из кто-то, называющий себя HanSolo, делает то, что вам нужно.
Вот код:
public class DataGridViewUpperCaseTextBoxColumn : DataGridViewTextBoxColumn {
public DataGridViewUpperCaseTextBoxColumn() : base() {
CellTemplate = new DataGridViewUpperCaseTextBoxCell();
}
}
public class DataGridViewUpperCaseTextBoxCell : DataGridViewTextBoxCell {
public DataGridViewUpperCaseTextBoxCell() : base() { }
public override Type EditType {
get {
return typeof(DataGridViewUpperCaseTextBoxEditingControl);
}
}
}
public class DataGridViewUpperCaseTextBoxEditingControl : DataGridViewTextBoxEditingControl {
public DataGridViewUpperCaseTextBoxEditingControl() : base() {
this.CharacterCasing = CharacterCasing.Upper;
}
}
Включите этот код в свой проект. Как только вы это сделаете, вы сможете добавить новый DataGridViewColumn в свой DataGridView типа DataGridViewUpperCaseTextBoxColumn. Этот новый DataGridViewColumn переводит в верхний регистр весь текст, введенный в компоненте TextBox столбца.
Вам также следует пересмотреть свое решение не использовать события. Это довольно легко сделать. Например, если у вас есть DGV с именем dataGridView1, вы можете использовать событие CellFormatting следующим образом:
private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) {
// Check the value of the e.ColumnIndex property if you want to apply this formatting only so some rcolumns.
if (e.Value != null) {
e.Value = e.Value.ToString().ToUpper();
e.FormattingApplied = true;
}
}
person
Jay Riggs
schedule
04.01.2010