我有 html 文本数据,我想在我的 gridview 单元格中绑定这些数据。
但我的 datagridview 不是 html 文本。
经验:
string htmltext = "<p>hi some text here</p>";
dgrow.rows[0].cell[1].value=htmltext;
在这种情况下,我的 gridview 的单元格值也包含 Html 标记。那么如何在我的网格视图中格式化 Html 文本?
我最近还需要在 WinForms DataGridView 控件中呈现 HTML 文本。
像你一样,我找不到任何适合我需要的东西,所以创建了我自己的自定义 DataGridViewHTMLCell 类。
您可以在此处找到代码和示例项目:https ://github.com/OceanAirdrop/DataGridViewHTMLCell
在标记中(请注意 Mode 是 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>";
}
}
}
请原谅任何错误,我没有测试过以上。