W Crystal Reports brakuje opcji, która umożliwia wyświetlenia wartości w postaci graficznego wskaźnika tak jak to potrafi Excel. Na szczęście istnieje pewien sposób aby uzyskać efekt jak poniżej...
Załóżmy, że mamy pole w tabeli, które posiada wartość procentową zapisaną w postaci ułamka 0..1
Skrypt do założenia przykładowej tabeli:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
CREATE TABLE [dbo].[Tasks]( | |
[TaskId] [int] IDENTITY(1,1) NOT NULL, | |
[Name] [nvarchar](50) NULL, | |
[Progress] [decimal](3, 2) NULL, | |
CONSTRAINT [PK_Tasks] PRIMARY KEY CLUSTERED | |
( | |
[TaskId] ASC | |
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] | |
) ON [PRIMARY] | |
GO | |
SET IDENTITY_INSERT [dbo].[Tasks] ON | |
GO | |
INSERT [dbo].[Tasks] ([TaskId], [Name], [Progress]) VALUES (1, N'Task 1', CAST(0.50 AS Decimal(3, 2))) | |
GO | |
INSERT [dbo].[Tasks] ([TaskId], [Name], [Progress]) VALUES (5, N'Task 2', CAST(0.90 AS Decimal(3, 2))) | |
GO | |
INSERT [dbo].[Tasks] ([TaskId], [Name], [Progress]) VALUES (7, N'Task 3', CAST(0.75 AS Decimal(3, 2))) | |
GO | |
INSERT [dbo].[Tasks] ([TaskId], [Name], [Progress]) VALUES (8, N'Task 4', CAST(1.00 AS Decimal(3, 2))) | |
GO | |
INSERT [dbo].[Tasks] ([TaskId], [Name], [Progress]) VALUES (9, N'Task 5', CAST(0.25 AS Decimal(3, 2))) | |
GO | |
SET IDENTITY_INSERT [dbo].[Tasks] OFF | |
GO |
- Umieść pole Progress na raporcie
-
Zaznacz opcję Size and Position i przy parametrze Width wpisz formułę:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters{Tasks.Progress} * 1440 -
Zaznacz pole, wybierz opcję Highlighting Expert, wpisz progi i określ formatowanie:
-
Zaznacz pole, wybierz opcję Format Field, przejdź na zakładkę Common i w opcji Display String
wpisz formułę:This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersToText({Tasks.Progress}*100, 0) + "%"
Gotowe!
Komentarze