используя конвертеры - PullRequest
       1

используя конвертеры

0 голосов
/ 13 сентября 2010

Я должен отформатировать строку («00: 10: 08: 10») в (10 недель 08 дней 10 часов). Поэтому я использовал конвертер и добавил его с привязкой к сетке данных. Мой код:

  Public Function Convert(ByVal value As Object, ByVal targetType As System.Type, ByVal parameter As Object, ByVal culture As System.Globalization.CultureInfo) As Object Implements System.Windows.Data.IValueConverter.Convert
    Dim strList(4) As String
    Dim prefixList() As String = {"Wk", "Dy", "Hrs", "Min"}
    Dim input As String = value.ToString
    Dim Output As String = String.Empty
    If input <> String.Empty Then
        strList = input.Split(":")
        Dim itr As Integer
        For Each Str As String In strList
            If Integer.Parse(Str) <> 0 Then
                Output += Str + " " + prefixList(itr) + " "
            End If
            itr += 1
        Next
    End If
    Return Output
End Function

Я получаю его преобразованным, но когда я редактирую данные, конвертер вызывается снова, где у меня не будет старого формата («00: 10: 08: 10»), а вместо него (10 Dy 08 Hr 10 Min ). поэтому конвертер не работает, очевидно. Как я могу заставить это работать?

Дополнительно: И есть ли тип данных в mssql для представления моих данных в днях и часах, чтобы мне не приходилось использовать этот формат строки.

Ответы [ 2 ]

1 голос
/ 13 сентября 2010

Вам необходимо реализовать функцию ConvertBack в вашем ValueConverter для преобразования из 10 Dy 08 Hr 10 Min в 00:10:08:10.

Предполагая, что строка имеет правильный формат, ее не должно быть слишком сложно для анализа и преобразования.

Вы можете использовать интервал для хранения данных. Он хранит время или продолжительность.

1 голос
/ 13 сентября 2010

О дополнительном: я всегда использую метки времени (миллисекунды с 01.01.1970) при сохранении времени в sql. Их очень легко сортировать, и их можно анализировать в объекте DateTime (или в похожем виде) практически на любом языке программирования.

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