2017-02-13 4 views
0

I가 MySQL 데이터베이스로부터 데이터를 얻는 하나 개의 컬럼 4.22:15:00 등 총 시간 (4 일 22 시간 15 분 00초)XAML 데이터 격자 열 형식 기간 강판 24 시간

를 나타내는 데이터 격자하지만 출력이 118:15:00 (118 시간, 15 분, 00 초)이거나 118:15 이어도 좋습니다.

<DataGridTextColumn Header="HOURS" Binding="{Binding Hours}" /> 

결과 :

: 내가 같이있는 StringFormat 속성에 대해 여러 가지 가능성을 시도

enter image description here

그 DataGrid에 열이 코드를 사용하고 있습니다

StringFormat={}{0:hh':'mm} 

그러나 나는 그 목표를 얻을 수 없었다. 에드 출력 ...

코드 뒤에 나는 VB를 사용하고있다.

+0

질문에 이미지를 사용하지 않을 것을 제안합니다. –

+0

'Hours' 속성의 정확한 유형은 무엇입니까? – ASh

+1

날짜를 직접 입력 할 수 있는지 잘 모르겠습니다. 시간대로 변환해야 할 수도 있습니다. –

답변

0

그것의 단지 IValueConverter에 문자열을 구문 분석에 대해 :

public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 
    { 
     string str = value as string; 
     int idot = str.IndexOf("."); 
     int days = int.Parse(str.Substring(0,idot)); 
     int idotdot = str.IndexOf(":"); 
     int ho = int.Parse(str.Substring(idot+1, idotdot-idot-1)); 
     int newho = days * ho; 
     string res = newho.ToString() + str.Substring(idotdot); 
     return res; 
    } 

당신은 예외를 처리해야 할 수도 있습니다.

0

변환기를 사용해야합니다. 변환기 내에서 데이터를 분할하고 일 * 24 + 시간 ... 계산을 수행하십시오. 그리드에 문자열을 반환하십시오.