如何根据数据库中的信息在 asp.net coolgrid 中给出我的箭头方向和箭头颜色?

Posted

技术标签:

【中文标题】如何根据数据库中的信息在 asp.net coolgrid 中给出我的箭头方向和箭头颜色?【英文标题】:How can I give my arrow direction and arrow color in asp.net coolgrid based on information from database? 【发布时间】:2015-02-02 02:04:08 【问题描述】:

在数据库字段“OverallStatusCd”中给出箭头颜色,在数据库字段“OverallTrendCd”中给出箭头背景颜色。 Css 是为箭头和背景颜色编写的。 我们可以使用下面的代码通过改变'up'、'down'、'right'、'left'来访问这些东西,并且通过改变'green'、'red'来改变颜色

span id="sptrend" runat="server" class="arrow arrow-up-icon arrowgreen">/span

如何根据数据库中的信息动态使用它? “OverallTrendCd”为 RED 提供“R”,为 YELLOW 提供“Y” “OverallStatusCd”给出的值是“Up”、“Down”等......

请帮帮我#Brelian

Krasimir, #Antony

【问题讨论】:

你如何决定箭头方向和背景颜色? (哪些值映射到 db 中的方向和颜色?)您使用什么语言? C#,VB? 来自数据库字段“OverallStatusCd”的箭头方向。来自数据库字段“OverallTrendCd”的背景颜色。我使用 C# 语言 【参考方案1】:

试试:

<span id="sptrend" runat="server" class='<%# String.Format(("01"), Eval("OverallStatusCdClass"), Eval("OverallTrendCdClass "))%>'></span>

如果您必须包含 'arrow' 或除硬编码的数据库之外的任何其他字符串,那么您可以将 String.Format(("01"), 更改为 String.Format(("arrow 01")

注意:我假设您的跨度在数据绑定控件中..

SELECT OverallStatusCd, OverallTrendCd, 
CASE WHEN OverallStatusCd = 'Up'  THEN 'up'
     WHEN OverallStatusCd = '.Down' THEN 'down'
END AS OverallStatusCdClass ,
CASE WHEN OverallTrendCd = 'R'  THEN 'red'
     WHEN OverallTrendCd = 'Y' THEN 'yellow'
END AS OverallTrendCdClass 
FROM    YourTable

对于 SqlDataSource,它将类似于 aspx 页面中的内容(以帮助您将脑海中的事物联系起来扩展我的答案):

<asp:Repeater ID="Repeater1" runat="server" DataSourceID="SqlDataSource1">
   <ItemTemplate>
        <span id="sptrend" runat="server" class='<%# String.Format(("01"), Eval("OverallStatusCdClass"), Eval("OverallTrendCdClass "))%>'></span>
   </ItemTemplate>
</asp:Repeater>

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:DefaultConnection %>" SelectCommand="SELECT OverallStatusCd, OverallTrendCd, 
                CASE WHEN OverallStatusCd = 'Up'  THEN 'up'
                     WHEN OverallStatusCd = '.Down' THEN 'down'
                END AS OverallStatusCdClass ,
                CASE WHEN OverallTrendCd = 'R'  THEN 'red'
                     WHEN OverallTrendCd = 'Y' THEN 'yellow'
                END AS OverallTrendCdClass 
                FROM YourTable">
</asp:SqlDataSource>

【讨论】:

谢谢#wooer ..... 在 DB 中,颜色为 R 表示红色,Y 表示黄色。但在代码中我需要红色、黄色等...在 DB 方向上给出为上、下...但我需要它作为“上”、“下”..等等...这怎么可能? 这就是我在上述评论中提出的问题。然后,如果您提供选择语句,则需要更改数据源中的 SQL 语句,我可以为您提供更好的答案.. #Wooer.. 我不应该更改 SQL 语句.. 在不更改数据库的情况下,还有其他解决方案吗..? 查看我对您的 select 语句的更新,这不会改变您的数据库,您只需将上述 Case 语句添加到您的 select 语句(并相应地进行所需的更改)并保留其他任何内容。 . 试试看.. 会好的.. 非常感谢 Wooer,但是如果我问的是一个愚蠢的问题,我很抱歉.. 你告诉的 select 语句在 sql server 中,对吧...?我可以获得可以在 aspx 页面或 aspx.cs 页面上应用的解决方案吗

以上是关于如何根据数据库中的信息在 asp.net coolgrid 中给出我的箭头方向和箭头颜色?的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET中如何获取客户端电脑名,数据库,ip等信息?

如何在 ASP.NET C# 中检索程序集信息窗口的文件版本 [重复]

ASP.NET Core 访问控制器构造函数中的 User.Identity

ASp.NET 如何根据IP查询所在城市

我如何根据 mvc asp.net 中的登录用户切换视图

如何根据 asp.net mvc4 中的模型列表填充 ListBox?