簡體   English   中英

Kendo圖表列多行標簽

[英]Kendo Chart Column Multi-Line Labels

我最近繼承了一個項目,該項目廣泛使用Kendo圖表,並要求向列標簽添加一些信息。 標簽當前包含一個整數和一個百分比,修訂版將添加一個附加的百分比值。 由於標簽會變長,因此需要將它們分成多行。

因此,當前顯示的列標簽為:

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>解決方法成為可行的選擇?

(在此處找到解決方法)

從2014年第二季度開始,Telerik / KendoUI最終實現了\\ n請參閱文檔:

通過使用換行符(“ \\ n”),可以將文本分成多行。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM