Выделите ключевые слова, которые существуют в таблице в SQL в определенном столбце в сетке, если они существуют - PullRequest
2 голосов
/ 14 мая 2019

У меня есть таблица SQL, которая содержит несколько ключевых слов.У меня есть метод привязки данных строки в моем коде ASP.net, который проходит по каждому ключевому слову, и в настоящее время он выделяет всю ячейку в сетке, если слово существует.Я пытаюсь выделить только ключевое слово, а не всю ячейку.

protected void gvRejectedQueue_RowDataBound(object sender, GridViewRowEventArgs e)
{
    string connectionstring = ConfigurationManager.ConnectionStrings["DBConnection"].ConnectionString;
    SqlConnection cn = new SqlConnection(connectionstring);
    SqlCommand cmd = new SqlCommand("SELECT KEYWORD FROM cr_tbl_BI_CRAMRR_KeyWords", cn);
    SqlDataAdapter da = new SqlDataAdapter(cmd);
    DataTable ds = new DataTable();
    da.Fill(ds);

    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        foreach (DataRow row in ds.Rows)
        {
            string sr = null;
            sr = e.Row.Cells[3].Text;
            if (sr.Contains(row["Keyword"].ToString()) == true)
            {
                e.Row.Cells[3].BackColor = System.Drawing.Color.Yellow;
            }
        }
    }
}

Например, если одним из моих ключевых слов является «Собака», я ожидаю, что результат будет «Собака преследует кошку».Слово "собака" выделено не всем образом

1 Ответ

1 голос
/ 14 мая 2019
if (sr.Contains(row["Keyword"].ToString()) == true)
{                
   e.Row.Cells[3].Text = e.Row.Cells[3].Text.Replace(row["Keyword"].ToString(), "<span style='background-color:yellow'>" + row["Keyword"].ToString() + "</span>");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...