首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在GridMVC中显示动态颜色的小矩形

如何在GridMVC中显示动态颜色的小矩形
EN

Stack Overflow用户
提问于 2019-03-20 14:13:49
回答 1查看 213关注 0票数 0

我有一个MVC应用程序,我从我的模型中填充一个网格。模型属性"RAG“有一个包含颜色名称的字符串。在此基础上,我用一个小的彩色正方形填充网格。

代码语言:javascript
复制
@foreach (var item in Model)
{
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.DMRTitle)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.PlannedDate)
        </td>            
        <td>
            @if (item.RAG == "Green")
            {
                <div style="height: 20px; width: 20px; background-color: lightgreen"></div>
            }
            else if (item.RAG == "Amber")
            {
                <div style="height: 20px; width: 20px; background-color: orange"></div>
            }
            else
            {
                <div style="height: 20px; width: 20px; background-color: orangered"></div>
            }
        </td>            
    </tr>
}

这段代码可以很好地工作,并且我的网格可以按预期呈现。

现在我想添加网格和过滤功能,所以我把我的SOrting改成了Grid.MVC。

我可以使用下面的代码将列呈现为文本。

代码语言:javascript
复制
<div>
@Html.Grid(Model).Columns(columns =>
{
    columns.Add(c => c.DMRTitle).Titled("Milestone").Filterable(true).SetWidth(100);
    columns.Add(c => c.PlannedDate).Titled("Planned Date").Format("{0:dd-MMM-yyyy}").Filterable(true).SetWidth(100);        

    columns.Add(c => c.RAG).Titled("RAG").Filterable(true).SetWidth(100);


}).WithPaging(5).Sortable(true)

如何将RAG列中的文本更改为以前使用的彩色方块?

如果不能添加正方形,那么我可以根据单元格包含的值更改单元格的背景颜色吗?这对我也是有效的。

EN

回答 1

Stack Overflow用户

发布于 2019-03-20 14:40:01

最后我找到了解决这个问题的办法。

我只是像下面这样添加了列

代码语言:javascript
复制
columns.Add(c => c.RAG).Titled("RAG").Filterable(true).Sanitized(false).Encoded(false).RenderValueAs(c => new HtmlString(
    "<div style='height: 20px; width: 20px; background-color: " + GetColorForRag(c.RAG) + "'></div>"
    )).SetWidth(50);

这是颜色函数

代码语言:javascript
复制
@functions
{

public string GetColorForRag(string RAG)
{
    if (RAG == "Red")
        return "Orangered";
    else if (RAG == "Amber")
        return "orange";
    else
        return "lightgreen";
}

}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55254575

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档