2012-11-05 18 views
0

我創建了一個漂亮的圖表中,但有一兩件事失蹤。我希望能夠在其中設置文本。最佳解決方案將是例如當前的日期在我的圖表中間以巨大的黃色字母打了個響。寫在任意位置自定義文本圖表

我已經搜索了這樣的事情,但沒有一個鏈接(proof that I've googled #1,proof that I've googled #2)給出了是否可能與否的提示。事實上,在第二環節的實體模型圖像將是我的東西,如果說明和箭頭沒有在圖像處理器之後繪製。

注意:這根本不是報告。這只是一張圖表 - 一張孤獨的圖表 - 顯示幾個系列的值。我得到控制的外觀,傳說等。不過,我想提出一個浮動文本對象(DIV通過CSS formatable將是完美的),雪碧,疊加,叫它任何你喜歡的話,那會得到其數值來自給定的字段(例如當前日期)。

,如果我能在圖形上任何地方自由地定位它,那簡直連「perfecter」但我會滿足於放置於形式「右上方」或這樣的。或者,如果可以選擇將兩個「視圖」相互疊加或類似的東西(我用這個在灌木叢中跳動)。

是這樣實現的,如果是的話怎麼辦?

+0

您目前如何構建報告? –

+0

@JamesWood請看我的編輯。 –

+0

我已經盡力做到了,如承諾的那樣。但我失敗了。不是說沒有辦法。只是說這不是非常普遍的要求,也不適用於任何人。這可以通過IFRAME完成,並且/或者像一個外部資源? – 2012-11-11 11:07:57

回答

1

沒錯,我玩過一段時間,很好的挖掘SDK,有點谷歌,這是我能想到的最好的。

我知道如何將文字放置在圖表上的任意位置,但只能使用靜態文本,例如,我不知道如何動態地將文本綁定到任何東西 - 我懷疑這與CRM比CRM更重要,我無法找到CRM和圖表的很多文檔。

所以我發現TextAnnotation可以讓你隨心所欲地放置文本。這包含在Annotations集合中。

例如:

<Chart> 
    ... 
    <Annotations> 
    <TextAnnotation Text="This is an annotation" Name="TextAnnotation1" X="20" Y="50"> 
    </TextAnnotation> 
    </Annotations> 
    ... 
</Chart> 

注意所以重要的是,TextAnnotation的位置是相對的,例如註釋將出現左側圖表寬度的20%。 0,0是左上角。 MSDN在positioning上有更多的細節。

這樣我就可以創建一個圖表是這樣的:

enter image description here

HELLO WORLD!是註釋。

使用此XML:

<Chart Palette="None" PaletteCustomColors="55,118,193; 197,56,52; 149,189,66; 117,82,160; 49,171,204; 255,136,35; 97,142,206; 209,98,96; 168,203,104; 142,116,178; 93,186,215; 255,155,83"> 
    <Series> 
    <Series ShadowOffset="0" IsValueShownAsLabel="True" Font="{0}, 9.5px" LabelForeColor="59, 59, 59" CustomProperties="PieLabelStyle=Inside, PieDrawingStyle=Default" ChartType="pie"> 
     <SmartLabelStyle Enabled="True" /> 
    </Series> 
    </Series> 
    <ChartAreas> 
    <ChartArea> 
     <Area3DStyle Enable3D="false" /> 
    </ChartArea> 
    </ChartAreas> 
    <Legends> 
    <Legend Alignment="Center" LegendStyle="Table" Docking="right" IsEquallySpacedItems="True" Font="{0}, 11px" ShadowColor="0, 0, 0, 0" ForeColor="59, 59, 59" /> 
    </Legends> 
    <Titles> 
    <Title Alignment="TopLeft" DockingOffset="-3" Font="{0}, 13px" ForeColor="0, 0, 0"></Title> 
    </Titles> 
    <Annotations> 
    <TextAnnotation Text="HELLO WORLD!" Font="Stencil, 15.75pt, style=Bold, Italic, GdiCharSet=0" Name="TextAnnotation1" X="20" Y="50" ForeColor="Orange"> 
    </TextAnnotation> 
    </Annotations> 
</Chart> 

如果那不達到你的要求,我建議有一個看一個SSRS報告或iFrame的入儀表板的一些其他定製件。

+0

Darn ...文本**必須**動態更新。目前,我正在使用'IFRAME'元素,發送請求並顯示來自外部源的更新文本。但是,這有三個缺點。 (1)它直腸醜陋的編程明智。 (2)'IFRAME'在HTML5中被棄用(我不知道MS將如何解釋它在未來版本的CRM中的使用)。 (3)我的解決方案只有在客戶可以訪問互聯網的情況下才能使用 - 對於離線/本地解決方案,他們將獲得400.並猜測某個客戶的設置。動態刷新可能嗎? –

+0

我不知道,我只是用昨晚的註解找出了所有的東西。 –

+0

你失去了100點聲望的睡眠嗎? (只是在開玩笑,只是在開玩笑 - 我知道你這麼做是因爲你喜歡幫助,你的業力是微笑,我敢肯定。)當然,我會批准+100給你,因爲你的回答是最好的一場激烈的比賽,雖然 - 可悲)。如果你想出更多的東西(也許根據我之前的評論發佈的內容),不要害羞。否則,除非事實證明,否則我們不得不斷定它不可行。 :( –

1

您可能想檢查this link他們在地圖上放置描述性文字的位置。我沒有得到這個工作(也沒有嘗試很努力),但通過下面的代碼很容易設置一些文本而不是圖形。

<visualization> 
    <primaryentitytypecode>blobb</primaryentitytypecode> 
    <name>My custom name</name> 
    <webresourcename>MyCustomHttpFile</webresourcename> 
</visualization> 

是確實很好的這樣的想法是值得探討與Flash文本客戶有時會感到驚訝。奇怪的是,我還沒有找到有關如何做到這一點的好指南。