1

たくさんのテキストを表示するGridViewがあり、テキスト間を移動しているときに特定の単語を強調表示したいのですが、常に強調表示したいのですが、検索などの後ではなく、次のテキストが含まれていると仮定します。 gridview「朝はリンゴ、夕方はリンゴを持っている」グリッドビュー内の「リンゴ」という単語を強調表示するためにテキストを読みながら、javaスクリプトを試しましたが、何も起こりませんでした。ありがとう。

4

1 に答える 1

3

そのためには、必要な単語の周りに基本的なhtmlタグをラップする必要があります。

だからあなたの文字列を変更します

"I would have an apple in the morning.."

"I would have an <span style='background-color:Yellow;'>apple </span>in the morning..".

そして、すべてが機能し始めます。

今、あなたはどこでもそれを行うことができます。

  1. javascriptを介して
  2. サーバー側を介して、つまり、そのような文字列のデータソースを前処理します。つまり、コード内でデータソースのコンテンツを適宜変更します。

javascript / jqueryを使用すると、次のことができます。Gridviewは純粋なhtmlでテーブルにレンダリングされるため、gridviewに提供したIDはすべて、テーブルのIDになります。jquery(またはjavascript)を使用してそれを取得し、innerHtmlを処理します。

すなわち

 $(document).ready(function(){
      var text= $('#GridView_Equivalent_Id').html(); 
     //var text= $(#+'<%= GridView1.ClientID %>').html();
     text= text.replace('apple','<span style="background-color:Yellow" >apple</span>'); 
     $('#GridView_Equivalent_Id').html(text);
});

サーバー側では、これを行うことができます。

GridViewをバインドするデータテーブルがあり、このデータテーブルの2番目の列にその文字列(文)があり、その単語の1つを強調表示するとします。

これを行う。

   DataTable dt = GetDatafromDb();
     foreach(DataRow row in dt.Rows)
     {
         row['columnContainingText'] = row['columnContainingText'].ToString().Replace("apple","<span style='background-color:yellow'>apple</span>");
     }
    GridView1.DataSource=dt;
    GridView1.DataBind();
于 2013-03-02T20:19:31.773 に答える