дата в DataGridView не форматируется должным образом - PullRequest
1 голос
/ 11 апреля 2011

У меня есть столбец, который использует формат DateTime, который был установлен в стилях столбца.

Когда пользователь вводит дату, он не форматирует ее в соответствии с установленным стилем. На самом деле, это ничего не делает для поля. Я положил туда тарабарщину, и это нужно.

Я что-то здесь упускаю? Не должно ли оно хотя бы отформатировать дату или выдать ошибку за неправильный формат даты?

1 Ответ

1 голос
/ 11 апреля 2011

Попробуйте обработать событие в сетке данных, получить ввод текста и проверить, является ли это датой или нет.Я использовал событие CellEndEdit, но выбирай свое как хочешь.

enter image description here

private void CheckCellValue(object sender, DataGridViewCellEventArgs e)
{
        //my column index on the date is 0; modify yours as needed!
    if (e.ColumnIndex == 0 && e.RowIndex > -1 && e.RowIndex != dataGridView1.NewRowIndex)
    {
        //check whether this can be parsed as a date.
        string enteredVal = dataGridView1.CurrentCell.Value.ToString();
        DateTime dt;
        if (DateTime.TryParse(enteredVal, out dt))
        {
            dataGridView1.CurrentCell.Value = dt.ToString("dd-MMM-yyyy");
        }
        else
        {
            MessageBox.Show("Doh, that's not a date: " + enteredVal);
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...