WPF: Как мне получить только время из текстового поля? - PullRequest
0 голосов
/ 29 января 2019

У меня есть таблица данных со столбцом Общее время активности: Total, которое я хочу отфильтровать по минимальному и максимальному времени, например, показывать только активные времена между 00:02:00 и 00:30:00.Моя хранимая процедура работает с этими значениями START и END для фильтрации.

В моем приложении WPF у меня есть текстовое поле, и я хочу использовать его для фильтрации указанной таблицы.

(обратите внимание, это невремя суток, всего раз, в общем, я мог бы быть более 24 часов.)

Я обнаружил, что мне нужно преобразовать строку текстового поля в DateTime, но я не уверен, как это сделать, так как яЯ очень плохо знаком с базами данных и WPF.В xaml я попытался использовать:

<TextBox x:Name="Activefrom"
    Text="{Binding Path=TotalStart,  StringFormat=' HH:mm:ss '}"/>

И в коде позади преобразование строки с:

DateTime dateTimeStart = DateTime.ParseExact(Activefrom.Text, "HH:mm:ss", System.Globalization.CultureInfo.CurrentCulture);

но я получаю ошибку:

System.FormatException: 'String was not recognized as a valid DateTime.'

Поскольку время превышает 24 часа, я не уверен, стоит ли мне использовать DATETIME, но я все равно попробовал, так как в этом случае таблица не работает более 24 часов.

Как связать текстовое поле какTime, чтобы я мог использовать свой SP для фильтрации данных только по времени

Ответы [ 2 ]

0 голосов
/ 29 января 2019

Считайте значение из вашего TextBox:

, затем попытайтесь преобразовать в DateTime, затем в Time ваше значение из TextBox:

string s = Activefrom.Text; // "22/11/2010  07:00:00 AM";
var dt = DateTime.Parse(s);
var time = dt.ToString("HH:mm:ss");

Вывод:

07:00:00 // If TextBox has the following value: "22/11/2010  07:00:00 AM";
0 голосов
/ 29 января 2019

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...