2009-06-22 2 views
0

즉석에서 측정 변환에 대한 자세한 내용은 여기를 참조하십시오.즉석에서 측정 변환

요구 사항 : 설정을 고려하여 단위 측정 값을 표시하려면 다음을 수행하십시오. 우려 사항 : - 기본 (중립) 단위 측정 만 데이터베이스에 저장되며 한 번 결정됩니다.

  • 그리드 컨트롤은 비즈니스 개체에 대한 직접 바인딩을 가지므로 변환 값을 수행하기가 복잡합니다.

문제 :

어떻게 컨트롤이 비즈니스 오브젝트에 바인드 것을 고려, 다른 측정 단위 (설정에 따라)을 표시하기 위해?

친절한 도움을 주실 수 있습니다. 감사합니다

ikadewi 내가 제대로 질문을 이해 한 경우

+0

귀하의 질문은 꽤 혼란 스럽습니다. 어떤 데이터를 얻었는지, 어떻게 저장하고 저장할 것인가에 대한 예를 들어 줄 수 있습니까? (설명하지 말고, 열심히 숫자를 말하십시오) –

답변

0

당신이 하나의 방법으로 측정 데이터를 저장하지만, 사용자에게 다양한에 표시 할 수있는 옵션을 제공 할 (당신은 ... 조금 모호) 방법 (다른 단위 사용). 사용중인 기술/언어 환경을 지정하지는 않았지만이를 수행하는 방법은 매우 간단합니다 (). 변환기 클래스를 만듭니다.

측정 데이터가 밀리미터 단위로 저장되어있는 경우 여기에 의사 -C# 스켈 리턴 코드가 있습니다. 당신은 아마 당신이 측정하든 동일한 방법을 사용하는 방법을 알아낼 수 있고, 그러나 당신은 그것을 표시 할 :

class LenghtConverter { 

    double ToCentimeters(double millimeters) { 
     // 1 centimeter = 10 millimeters 
     return millimeters/10; 
    } 

    double ToInches(double millimeters) { 
     // 1 inch = 25.4 millimeters 
     return millimeters/25.4 
    } 

    // You get the drift. Add whatever conversions you need. If you wish, 
    // you can return strings instead of numbers, and append the unit 
    // signature as well. 
} 

지금, 당신의 그리드에 당신이 프레 젠 테이션 구문의 일부 종류의 데이터를 표시합니다. 저는 여러분에게 아이디어를주기 위해 무언가를 만들고 있습니다. 그리고 ASP.NET에 이르기까지 구문은 꽤 비슷합니다. 를 표시합니다이 저장된 방식으로 측정 데이터,

<%= LenghtConverter.ToInches(MyMeasurement.Data) %> 

사용하면 출력을 표시) = 당신이 그 실례하겠습니다

대신 단지

<%= MyMeasurement.Data %> 

희망 결과는 인치.

실제로 C# (또는 VB.NET)을 사용하는 경우 확장 메서드이라고하는 .NET 3.5에서 사용할 수있는 유용한 기능이 있습니다. 대신 사용할 수도 있습니다. 그러면 다소 시원하고 간소화 된 구문으로 출력 할 수 있습니다.

<%= MyMeasurement.Data.ToInches() %>