Ok, quindi ho risolto questo problema.
In primo luogo, per ottenere il collegamento delle linee, è necessario impostare il colore EmptyPoint
per la serie.
- selezionare la serie nel grafico
- Nella scheda delle proprietà (non la finestra di dialogo) drill-down nella proprietà EmptyPoint e impostare il colore da nero
Questo otterrà unirsi a loro in su - Sìì! Ma parte della linea è il colore e l'altra parte è nera, giusto? È un po 'sciocco, soprattutto considerando se si lascia il colore a Automatic sul EmptyPoint che sarà trasparente.
Quindi, quindi, è necessario sincronizzare la serie e i colori di EmptyPoint. Utilizzo del codice da here. Ho aggiunto del codice al codice del rapporto.
1). Fare clic con il tasto destro del mouse su uno spazio vuoto nel report e selezionare "Proprietà report"
2). Nella scheda di codice, incollare il seguente:
Private colorPalette As String() = {"#418CF0", "#FCB441", "#E0400A", "#05642E", "#1A3B69", "#BFBFBF", "#E0400A", "#FCB441", "DarkBlue", "Tomato", "Orange", "CornflowerBlue", "Gold", "Red", "Green", "LightBlue", "Lime", "Maroon", "LightSteelBlue", "Tan", "Silver"}
Private count As Integer = 0
Private mapping As New System.Collections.Hashtable()
Public Function GetColor(ByVal groupingValue As String) As String
If mapping.ContainsKey(groupingValue) Then
Return mapping(groupingValue)
End If
Dim c As String = colorPalette(count Mod colorPalette.Length)
count = count + 1
mapping.Add(groupingValue, c)
Return c
End Function
allora abbiamo bisogno di chiamare questo codice quando si imposta il colore della serie e del EmptyPoint
.
- Selezionare la serie
- Nella scheda Proprietà pasta qualcosa il seguente (sostituire WhateverTheGroupIsForYourSeries con la serie del nome del gruppo):
=Code.GetColor(Fields!*WhateverTheGroupIsForYourSeries*.Value)
- Drill verso il basso per l'elemento colore della proprietà serie
EmptyPoint
- Incolla lo stesso testo del punto 2 [es
=Code.GetColor(Fields!*WhateverTheGroupIsForYourSeries*.Value)
]
E voilà! Hai finito! Non riesco a credere a quanto sia inutilmente difficile questo: D
Tutto ha funzionato bene fino a quando ho provato i passaggi 2 e 4. Il problema è con l'accesso alla funzione GetColor. Sembra che il codice scritto nelle proprietà del report che definisce la funzione GetColor non sia accessibile qui nell'elemento colore. Qualche idea su come risolvere questo. Sto usando RDLC e non il RDL che è sui servizi di segnalazione. – learner
Ho capito il mio errore! Il nome della serie che ho fornito ha avuto un refuso. La soluzione ha funzionato. Grazie. L'unico problema che vedo ora è che il colore delle leggende è incasinato. Ci sono più di un'apparenza dello stesso colore. – learner
Stavo usando CountRows() per il mio valore Y, che mi dava l'illusione di Punti vuoti, ma erano punti reali con un valore pari a zero. Per ovviare a questo, ho cambiato il mio valore Y in = IIF (CountRows()> 0, CountRows(), Nothing) – Towler