我想在asp.net C#中的gridview中突出显示一个特定的单词

时间:2013-03-02 19:44:29

标签: javascript asp.net gridview highlight

我有一个GridView,当我在文本之间导航时,我想要突出显示特定单词的很多文本,我想突出显示它总是我的意思不是在搜索之后或其他东西,让我们假设我有以下内容gridview里面的文字“我早上会有一个苹果,晚上会有一个苹果”我想通过文本突出显示gridview中的“apple”这个词,我尝试了一个java脚本,但什么也没发生!感谢。

1 个答案:

答案 0 :(得分: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. 通过服务器端,即为这些字符串预处理数据源。即在代码中相应地修改数据源内容。
  3. 通过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和这个数据表的第二列有一个字符串(句子),其中一个词,你要突出显示..

    这样做。

       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();