は、ZKラベルコンポーネントのフォーマット番号を <label value="${each.value}" />
のように表示する方法はありますか?値は倍であり、私は千などを分けたいと思います...私はダブルボックスのフォーマットプロパティを持っていることを知っていますが、私はちょうどラベルとして番号を表示したいのですが?助けてくれてありがとう。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);
}
}
これは小数点以下2桁の数字を出力します。第二に、あなたの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を使用すると、(このクラスはテストされていない注意してください、しかし、あなたのアイデアを入手してください)例えば、コンバータと呼ばれるものを作成、実際に実装するのが容易です。
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ファイルで行うすべてはあなたがたとえば、値にコンバータを使用したいと思い指定です。この技術の詳細については
<label value="@load(vm.message) @converter(vm.myConverter)"/>
あなたがhereを参照することができます。ドキュメントから
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. ラベル/フォーマットのテキストフィールド
- 2. 変数の値ラベル
- 3. asp.netラベル通貨フォーマット
- 4. 格子のフォーマット軸ラベル
- 5. フォーマット軸の目盛りラベル
- 6. jQueryフォーマットの負の数値
- 7. デュアルエクステンデッドDataGridの数値フォーマット(Angular2)
- 8. 行レベルの変数ラベル、値ラベル、および値のエクスポート
- 9. フォーマット数値文字列は
- 10. JXL数値フォーマットとセルタイプ
- 11. R:数値フォーマットでRと
- 12. chart.jsのマウスのホバー上のフォーマットXラベル
- 13. ハイチャートのx軸ラベルをフォーマットする
- 14. xAxisラベルのフォーマット方法iOSチャート
- 15. フォーマットの数値とコンマをページにロード
- 16. ValueError:不明なラベルの種類: '不明' - ラベルは数値です
- 17. データグリッドのフォーマット値
- 18. DATE値のフォーマット
- 19. Chart.jsグローバルにフォーマットされた番号ラベル
- 20. 軸ラベルを再フォーマットする方法は?
- 21. ラベルとメッセージ内のC#でTostringで使用するテキストボックスの数値を1000から1,000にフォーマットする方法
- 22. ZKOSSのテキストボックスに複数の正規表現コストを設定する方法
- 23. Pythonで数値をフォーマットする
- 24. ピボットフィールドに数値フォーマットを適用する
- 25. 辞書のフォーマット値
- 26. DDL値のフォーマットは
- 27. 変数値をラベルに渡すangularjs
- 28. SPSSのすべての値ラベルを数値に変更
- 29. エクセル - フォーマット値(マスク)
- 30. matplotlibラベルのキーワード引数の複数の値
クール!私はこれを行うための@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'パッケージとクラス名を2回チェックしました。 – Gatekeeper
私はtaglibを作成することでこの問題を解決し、現在動作しています... – Gatekeeper