0

我试图在气泡中显示我的结果百分比。

我已经使用下面的存储过程为绑定在数据列表中的 div 设置 css 样式(宽度、高度、字体大小以将其显示为气泡)。

Select 
    *,
    'width: '+cast(@maxWidth*(CountItemPercentage/100) as varchar(max)) +'px; height: '+cast(@maxWidth*(CountItemPercentage/100) as varchar(max)) +'px; font-size: '+cast(@maxWidth*((CountItemPercentage/100)/5) as varchar(max)) +'px;' as CSSStyle
from 
    @temp

我已将最大宽度设置为 300px。

现在我的问题是,如果百分比低于 10%,则气泡太小而无法看到。如何使用存储过程设置 div 的最小宽度以使其清晰可见?

提前致谢

4

1 回答 1

0

我不知道您为什么要这样做,但我相信每个客户/项目都有他的需求。除此之外,您可以使用这样的 CASE 语句:

--Set the minimum width percentage DECLARE @MinWidthPercentage as int; set @MinWidthPercentage = 10;

SELECT (CASE
    WHEN CountItemPercentage < @MinWidthPercentage THEN 'width: ' + cast(@maxWidth*(MinWidthPercentage /100) as varchar(max)) + 'px; height: ' + cast(@maxWidth*(MinWidthPercentage /100) as varchar(max))
+ 'px; font-size: ' + cast(@maxWidth*((MinWidthPercentage /100)/5) as varchar(max)) +'px;'
    ELSE 'width: '+cast(@maxWidth*(CountItemPercentage/100) as varchar(max)) +'px; height: '+cast(@maxWidth*(CountItemPercentage/100) as varchar(max)) +'px; font-size: '+cast(@maxWidth*((CountItemPercentage/100)/5) as varchar(max))
+'px;') AS CSSStyle  from @temp

或者,您可以在开头使用 if 来设置 @percentage 变量并使用该变量而不是 CountItemPercentage。

于 2013-09-13T15:57:50.003 回答