将HTML放在aspx GridView上的动态制作列中

时间:2013-07-02 20:27:47

标签: c# html asp.net

我正在尝试放置一个包含代表点(绿色,黄色或红色)的样式的html div。问题是:我必须将这个html放在以编程方式制作的gridview(histRagStatus)列中,如您所见:

    private void popularHistoricoRAGStatus()
    {
             DataTable ragTable =ProjetoBO.HistoricoRAGStatusProjeto(Convert.ToInt32(Session["idProjeto"]));

        int agrupadorRagStatus = -1;

        int cont = 1;

        var tabelaFinal = PegarDataTable();

        DataRow dataRow = tabelaFinal.NewRow();

        foreach (DataRow row in ragTable.Rows)
        {
            cont++;
            if (Convert.ToInt32(row[9]) != agrupadorRagStatus)
            {
                cont = 1;
                agrupadorRagStatus = Convert.ToInt32(row[9]);
                tabelaFinal.Rows.Add(dataRow);
                dataRow = tabelaFinal.NewRow();
                dataRow[1] = PegarCorIndicadorRagStatus(Convert.ToInt32(row[3]),row[6].ToString());
                continue;
            }
            dataRow[0] = DateTime.Parse(row[2].ToString()).ToShortDateString();

            dataRow[cont] = PegarCorIndicadorRagStatus(Convert.ToInt32(row[3]), row[6].ToString());

        }

        histRagStatus.DataSource = tabelaFinal;
        histRagStatus.DataBind();
   }

我得到了这个DataTable,我填充了数据库中的数据,并将其作为数据源添加到网格视图中。但问题是:当我有一个带有静态列的表时,我把它放在设计上,它工作正常,html被转换成图像,但是当我将SAME HTML放入编程的列中时,它没有'工作,它变成了HTML文本本身,你可以在这里看到https://www.dropbox.com/s/rf07ecu66axmzg0/Sem%20t%C3%ADtulo.png

我坚持这一点,任何帮助都将不胜感激

1 个答案:

答案 0 :(得分:1)

在新列中指定HtmlEncode =“False”

<asp:GridView ID="GridView1" runat="server">
            <Columns>
                <asp:DynamicField HtmlEncode="False"></asp:DynamicField>
            </Columns>
        </asp:GridView>