Разделитель тысяч с запятой в columnGridView, когда пользователь печатает
Я собираюсь разделить числа запятыми, что я ищу, именно так
но решение в этом вопросе не работает для меня, так как я делаю это в столбце в gridview вместо текстового поля.
Что я сделал до сих пор (часть класса для столбцов в gridview):
public override string Text
{
get { }
set { base.Text = GetFormattedText(value); }
}
protected override void OnTextChanged(System.EventArgs e)
{
base.OnTextChanged(e);
Text = GetFormattedText(Text);
}
protected virtual string GetFormattedText(string text)
{
string strText = text.Replace(",", "");
decimal decValue = System.Convert.ToDecimal(strText);
strText = decValue.ToString("#,##0");
return strText;
}
Итак, что происходит с этим фрагментом кода:
когда я набираю 12345 в столбце, он становится ---> 51,234
Пожалуйста, если мои высказывания не ясны, скажите мне, и я объясню это подробнее
1 ответ
Решение
Проблема заключается в том, что при изменении текста текстового поля каретка переходит на первую позицию TextBox
, Так что после настройки TextBox
текст с форматированным текстом, вы должны добавить эту строку, чтобы перейти к концу:
base.SelectionStart = base.Text.Length;