2011-04-14 15 views
1

을 무시 나는 데이터 바인딩 등 같은 텍스트 편집기 컨트롤 서식 해요 -> 마스크 - DevExpress의 윈폼 데이터 바인딩 : DisplayFormat가

txtArea.DataBindings.Add("EditValue", _ProductItem, "Area", true, DataSourceUpdateMode.OnPropertyChanged); 
txtArea.Properties.Mask.EditMask = @"\d*\.{0,1}\d{1,3}"; 

그리고이 텍스트 편집기 텍스트 상자의 속성에

, 내가 설정 한 속성을> 정규식에 MaskType . 또한 Properties -> DisplayFormat -> FormatType은 숫자이고 FormatString은 n3으로 설정됩니다.

데이터 바인딩 된 EditValue가 24.12345로 설정된 경우 앱을 실행할 때 텍스트 상자에 표시되는 내용입니다. 그러나, 나는 단지 24.123을보기를 기대하고있다. 그리고 나서 텍스트 상자를 클릭하면 표시된 값이 24.123으로 올바르게 변경됩니다. 그러나 텍스트 상자를 종료 할 때 (변경하지 않고) 원래 EditValue의 24.12345로 다시 설정됩니다.

txtArea.EditValue = 24.12345처럼 EditValue를 하드 코딩하면 초기 디스플레이가 예상대로 24.123입니다. 편집 모드에서는 예상대로 24.123입니다.

마치 DataBinding이 DisplayFormat 속성을 모두 무시하는 것과 같습니다. 누구든지 DevExpress 컨트롤을 사용하여 어떤 경험이 있습니까? true로

설정 txtArea.Properties.Mask.UseMaskAsDisplayFormat :

답변

4

다음은 수정입니다.

다양한 포맷 옵션을 모두 사용하면서 시도해 보았습니다.

0
memoEdit.DataBindings.Add("Text", DataSource, "DataMember", false, DataSourceUpdateMode.OnPropertyChanged); 

// 또는

memoEdit.DataBindings.Add("EditValue", DataSource, "DataMember", false, DataSourceUpdateMode.OnPropertyChanged); 
관련 문제