0

HTML テキスト データがあり、このデータをグリッドビュー セルにバインドしたいと考えています。

しかし、私のデータグリッドビューはhtmlテキストではありません。

式:

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

この場合、私の gridview のセル値には Html タグも含まれています。グリッド ビューで Html テキストをフォーマットするにはどうすればよいですか?

4

2 に答える 2

1

また、最近、WinForms DataGridView コントロールで HTML テキストをレンダリングする必要がありました。

あなたのように、自分のニーズに合ったものを見つけることができなかったので、独自のカスタム DataGridViewHTMLCell クラスを作成しました。

コードとサンプル プロジェクトは、https ://github.com/OceanAirdrop/DataGridViewHTMLCell にあります。

于 2015-06-02T17:29:15.993 に答える
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>";
    }
   }
  }

エラーがあればご容赦ください。上記のテストは行っていません。

于 2013-06-11T12:33:47.597 に答える