Được rồi, vì vậy tôi đã làm việc này.
Thứ nhất, để có được các đường kết nối, bạn cần đặt màu EmptyPoint
cho chuỗi.
- chọn hàng loạt của bạn trong biểu đồ của bạn
- Trong tab thuộc tính (không phải hộp thoại) đi sâu vào các tài sản EmptyPoint và thiết lập màu là đen
Điều này sẽ làm cho họ tham gia lên - yay! Nhưng một phần của dòng là màu sắc và phần khác là màu đen, phải không? Đó là một chút ngớ ngẩn, đặc biệt là xem xét nếu bạn để lại màu sắc để tự động trên EmptyPoint rằng nó sẽ được minh bạch.
Vì vậy, sau đó chúng ta cần phải lấy chuỗi và màu của EmptyPoint được đồng bộ hóa. Sử dụng mã từ here. Tôi đã thêm một số mã vào mã của báo cáo.
1). Nhấp chuột phải vào một khoảng trống trên báo cáo và chọn "Thuộc tính báo cáo"
2). Trong tab mã, hãy dán như sau:
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
Sau đó, chúng tôi cần gọi mã này khi đặt màu của chuỗi và EmptyPoint
.
- Chọn loạt
- của bạn Trong các thuộc tính tab dán một cái gì đó như sau (thay thế WhateverTheGroupIsForYourSeries với tên nhóm hàng loạt của bạn):
=Code.GetColor(Fields!*WhateverTheGroupIsForYourSeries*.Value)
- khoan xuống đến các yếu tố màu sắc của các tài sản
EmptyPoint
Dòng
- Dán văn bản giống như từ điểm hai [ví dụ
=Code.GetColor(Fields!*WhateverTheGroupIsForYourSeries*.Value)
]
Và thì đấy! Bạn đã hoàn tất! Tôi không thể tin rằng điều này là khó khăn như thế nào: D
Mọi thứ hoạt động tốt cho đến khi tôi thử các bước 2 và 4. Vấn đề là truy cập chức năng GetColor. Có vẻ như Mã được viết trong thuộc tính báo cáo xác định hàm GetColor không thể truy cập ở đây trong phần tử màu. Bất kỳ ý tưởng làm thế nào để giải quyết này. Tôi đang sử dụng RDLC chứ không phải RDL trên các dịch vụ báo cáo. – learner
Đã tìm ra lỗi của tôi! Tên dòng tôi cung cấp có lỗi đánh máy. Bạn đã làm việc giải pháp. Cảm ơn. Vấn đề duy nhất tôi thấy bây giờ là màu huyền thoại bị rối tung lên. Có nhiều hơn một xuất hiện cùng màu. – learner
Tôi đã sử dụng CountRows() cho Giá trị Y của tôi, điều này đã cho tôi ảo giác về Điểm trống, nhưng là điểm thực tế với giá trị bằng 0. Để giải quyết vấn đề đó, tôi đã thay đổi Giá trị Y thành = IIF (Số đếm()> 0, CountRows(), Không có gì) – Towler