Форма WinForms с привязкой к данным - как форматировать даты? - PullRequest
2 голосов
/ 18 марта 2009

У меня есть форма со значением даты в элементе управления TextBox. Форма использует привязку данных с BindingSource к DataSet и базе данных SQL 2005 CE. Где я могу контролировать форматирование даты? Например, нигде в свойствах по пути я не видел возможности вырезать часть времени.

Конечно, я мог бы сделать это в базе данных и передать строку вместо DateTime, но это обходной путь, а не решение.

Ответы [ 2 ]

7 голосов
/ 18 марта 2009

Вы можете обработать событие Binding.Format , чтобы отформатировать дату. И его аналог Binding.Parse для анализа ввода из TextBox.

1007 * Е.Г. *

TextBox.DataBindings["Text"].Format += new ConvertEventHandler(FormatDateEventHandler);
...
private void FormatDateEventHandler (object sender, ConvertEventArgs e)
{
    if (! Convert.IsDBNull (e.Value))
    {
        e.Value = ((DateTime)e.Value).ToString ("d", CultureInfo.CurrentCulture);
    }
}
6 голосов
/ 06 апреля 2009

Используя конструктор, выберите текстовое поле, щелкните вкладку свойств, выберите (DataBindings) - Дополнительно.

Здесь вы можете выбрать тип данных Дата и время и при желании удалить только дату или время и т. Д.

...