我们如何在DataGridView中渲染Html文本?

时间:2013-06-11 12:12:28

标签: c# winforms datagrid

我有html文本数据,我想在gridview单元格中绑定这些数据。

但我的datagridview不是formet html文本。

EXP:

string htmltext = "<p>hi some text here</p>";
dgrow.rows[0].cell[1].value=htmltext;

在这种情况下,我的gridview的单元格值也包含Html标记。 那么如何在网格视图中格式化Html文本呢?

2 个答案:

答案 0 :(得分:0)

在加价中(请注意模式是PassThrough):

<asp:GridView ID="GridView1" runat="server">
  <Columns>
   <asp:TemplateField>
     <ItemTemplate>
       <asp:Literal ID="literal1" Mode="PassThrough" runat="server"></asp:Literal>
     </ItemTemplate>
  </asp:TemplateField>
 </Columns>

使用RowDataBound事件查找文字并设置值:

void GridView1GridView_RowDataBound(Object sender, GridViewRowEventArgs e)
{ 
  if(e.Row.RowType == DataControlRowType.DataRow)
  {
    //find the literal
    var literal1 = e.Item.FindControl("literal1") as Literal;
    if (literal1 != null)
    {
      literal1.Text = "<p>hi some text here</p>";
    }
   }
  }

请原谅任何错误,我没有测试过上述情况。

答案 1 :(得分:0)

我最近还要求在WinForms DataGridView控件中呈现HTML文本。

和你一样,我找不到符合我需求的东西,所以创建了我自己的自定义DataGridViewHTMLCell类。

您可以在此处找到代码和示例项目:https://github.com/OceanAirdrop/DataGridViewHTMLCell