1

私は最近、剣道図を多用するプロジェクトを継承し、列ラベルに情報を追加するように依頼されました。現在、ラベルには整数とパーセンテージが含まれており、リビジョンではパーセンテージ値が追加されます。ラベルが少し長くなってきているので、複数の行に分割する必要があります。

したがって、現在の列ラベルは次のとおりです。

3、0.00%

今読むだろう

3

0.00%

9.99%

コードは MVC スタイルに配置されているため、各ラベルを決定するコードは次のようになります。

.Labels(labels => labels.Visible(true).Position(ChartBarLabelsPosition.OutsideEnd)
                        .Template("#= value #, #= kendo.format('{0:P}', dataItem.GetPercent)#"))
                        .Tooltip(t => t.Template("#=series.name#: #= value #, #= kendo.format('{0:P}', dataItem.GetPercent)#").Visible(true));

これは単純なことのように思えますが、ラベルに適切に機能する改行の構文が見つかりません。Kendo は <br />エントリを解釈しようとしているように見えますが、これらはグラフの流れを乱し、後続のすべてのラベル値が列のすぐ上ではなくグラフ全体の下に表示される原因となります。私が検索したいくつかのフォーラムの投稿では、これは現在剣道では不可能であると断言していますが、「2014 年には可能になる」とも述べています (ただし、これらのほとんどは以前の投稿であり、私は剣道についてあまり知らないので、可能でした)彼らが参照しているラベルを誤解しないでください)。

このタイプのラベルに(コードから)改行を挿入するための適切な構文、または機能が現在サポートされていない場合の可能な回避策を誰かに教えてもらえますか?

ありがとうございました!

更新回避策 を見つけました<tspan>。これは少し役に立ちますが、ページに合わせてグラフが動的にサイズ変更されるため、見た目はかなり悪くなります (したがって、積み上げ棒グラフの場合、各列の幅と開始位置は静的ではありません)。<tspan>タグは各ラベルの y 座標を考慮しますが、x 座標は考慮しないため、列ごとに個別に設定する必要があります。設定されていない場合、すべての列のラベルは、y 軸の値があるグラフの一番左側に表示されます。チャートは動的であるため、そこに配置する「正しい」静的値はなく、テンプレート コード内から列の開始位置を取得する方法を見つけることができませんでした。<tspan>回避策が実行可能なオプションになるようにこれを修正する方法はありますか?

(回避策はこちらにあります

4

1 に答える 1

1

2014-Q2 バージョンから、Telerik / KendoUI は最終的に \n を実装しました ドキュメントを参照してください:

テキストは、改行文字 ("\n") を使用して複数の行に分割できます。

http://docs.telerik.com/kendo-ui/api/javascript/dataviz/ui/chart#configuration-categoryAxis.title.text

于 2014-10-02T13:15:52.343 に答える