은 ZK 레이블 구성 요소의 숫자 형식을 지정하는 방법이 있습니까? 예 : <label value="${each.value}" />
? 값은 두 배이며 수천 등을 구분하고 싶습니다 ... 예를 들어 doublebox에 형식 속성이 있지만 그 숫자를 레이블로 표시하려면 어떻게해야할까요? 어떤 도움을 주셔서 감사합니다.ZKOSS 레이블의 숫자 형식
1
A
답변
2
기능 요청 당신이 그것을 here을 찾을 수 있습니다 ZK의 추적 시스템에 이것에 대한 기능 요청을 열어 모든
첫째. 업데이트가 필요한 경우이 절차를 따르십시오.
을 구현
방법은 당신이 사용하고있는 패턴 & 기술에 따라이 구현의 사실 방법이 있습니다.
MVC & EL은
당신은 당신의 ZUL 파일에 당신을위한 서식을 할 것 EL 함수를 만들 수 있습니다. 먼저 다음과 같은 클래스를 작성하십시오.
public class FormatElNumber {
public static String formatStock(double stock) {
final NumberFormat nf = NumberFormat.getInstance();
nf.setMaximumFractionDigits(2);
return nf.format(stock);
}
}
그러면 소수점 두 자리 숫자가 출력됩니다. 둘째 당신이 당신의 ZUL 파일의 상단에이를 추가해야
<?xel-method prefix="c" name="formatStock" class="demo.grid.hierarchy.FormatElNumber"
signature="java.lang.String formatStock(double)"?>
을 그럼 당신은 다음과 같이 할 수있는 라벨이있을 때 :이 기술에
<label style="color:red;" value="${c:formatStock(each.averageHigh)}" />
더 infomration 것은 here 사용할 수 있습니다.
MVVM
MVVM, 당신은 (예를 들어,이 클래스가 안된주의,하지만 당신은 아이디어를 얻을하시기 바랍니다)이라는 변환기 무엇을 만들 구현하기 위해 실제로 쉽습니다.
<label value="@load(vm.message) @converter(vm.myConverter)"/>
당신이 here을 참조 할 수 있습니다이 기술에 대한 자세한 내용은 :
public class NumberFormatConverter implements Converter {
@Override
public Object coerceToBean(Object val, Component comp, BindContext ctx) {
return null;
}
@Override
public Object coerceToUi(Object val, Component comp, BindContext ctx) {
if(!(val instanceof Integer)) {
throw new IllegalArgumentException("The argument must be a number!");
}
final Object tmp = ctx.getConverterArg("length");
int length = 0;
if(tmp instanceof Integer) {
length = (Integer)tmp;
}
final NumberFormat nf = NumberFormat.getInstance();
nf.setMaximumFractionDigits(length);
return nf.format(val);
}
}
그런 다음 당신이 당신의 ZUL 파일에서 할 모든 당신이 예를 들어, 값에 변환기를 사용하고자하는 지정합니다. 워드 프로세서
1
: http://books.zkoss.org/wiki/ZUML_Reference/EL_Expressions/Core_Methods/formatNumber
<?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c"?>
<zk>
<label value="${c:formatNumber(2332315231, '$ ###,###,###.00')}" />
</zk>
관련 문제
- 1. Zkoss 그리드 페이징 사용자 정의
- 2. J2ME - 숫자 형식
- 3. MySQL : 숫자 형식
- 4. 변환 숫자 형식
- 5. SCJP - 숫자 형식
- 6. 형식 문자열 통화 숫자
- 7. MS 보고서 숫자 형식
- 8. 벡터 클래스 - 숫자 형식
- 9. 숫자 형식 문자열 : 시간
- 10. 입력에서 JQuery 숫자 형식
- 11. 사용자 지정 숫자 형식
- 12. JIRA의 숫자 형식 예외
- 13. PHP의 숫자 형식
- 14. 숫자 형식 예외
- 15. 숫자 형식 예외 구성
- 16. 숫자 형식 변환 (coldfusion)
- 17. 숫자 형식 문자열을 사용하여 숫자 자르기
- 18. 내 zkoss 코드의 잘못된 점
- 19. ZKOSS - 새로운 CSS 테마 만들기
- 20. 임의의 숫자 형식 반환 문제
- 21. 골란의 숫자 형식 사이에 캐스팅
- 22. JTable 셀 편집기 숫자 형식
- 23. plsql 사용자 정의 숫자 형식
- 24. jQuery 숫자 형식 작업을 수행하십시오.
- 25. 숫자 형식 문화 설정 감지
- 26. Java 서블릿의 숫자 형식 예외
- 27. 응용 프로그램의 다양한 숫자 형식?
- 28. 숫자 형식 인터페이스로 색상 프로그래밍
- 29. 양의 정수 만 숫자 형식
- 30. SQL보고 서비스 형식 (날짜, 숫자
쿨! 이미 @converter 방식으로이 작업을 보았습니다. 그러나 어떤 경우에는 설명대로 MVC 모델을 사용하고 있습니다 ... 어쨌든 오늘 나중에 시도 할 것입니다. 시간 내 주셔서 감사합니다. Tim! – Gatekeeper
이 솔루션에 이상한 문제가 있습니다 ... 제 코드는 당신이 제안한 것과 같지만''? xel-method prefix = "f"name = "formatDouble"class = "my.package" .ElNumberFormatter " signature ="java.lang.String formatDouble (BigDecimal) "?>', zkoss는 다음과 같은 오류를 던집니다 : org.zkoss.zk.ui.UiException : file :/C :/Users ... w/main/pageIncomeEntry.zul : 2 : 59 : 클래스를 찾을 수 없습니다 : my.package.ElNumberFormatter' 패키지와 클래스 이름을 두 번 확인했습니다 ... 이것에 대한 의견이 있으십니까? – Gatekeeper
좋아, taglib를 생성하여이 문제를 해결했고 지금은 ... – Gatekeeper