Member 13361792 Ответов: 1

Поиск и выделение строк в gridview с помощью C#


Привет, у меня есть gridview, который заполняется при загрузке страницы. Я добавил опцию поиска, и когда пользователь нажимает кнопку, Я хочу, чтобы соответствующая строка была выделена в gridview. Сетка будет выделять только соответствующую строку. Ниже приведен мой код, но он не выделяет соответствующую строку. Есть предложения?


Спасибо

Что я уже пробовал:

protected void Button1_Click(object sender, EventArgs e)
{
	string cs = "Data Source=DESKTOP-Q69PRF4;Initial Catalog=new;Integrated Security=True";
	SqlConnection con = new SqlConnection(cs);
	if (con.State == ConnectionState.Open)
	{
		con.Close();
	}

	string Query = "select * from Posst where StId='"+TextBox1.Text+"'";
	SqlCommand com = new SqlCommand(Query, con);
	SqlDataAdapter da = new SqlDataAdapter(com);
	DataSet ds = new DataSet();
	DataTable dt = new DataTable();
	da.SelectCommand = com;
	da.Fill(dt);
	GridView1.DataSource = dt;
}

protected void TextBox1_TextChanged(object sender, EventArgs e)
{
	DataView DV = new DataView(dt);
	DV.RowFilter = string.Format("StID", TextBox1.Text);
   GridView1.DataSource = DV;
}

1 Ответов

Рейтинг:
1

Member 13339456

Поместите следующий код в обработчик событий OnRow привязки данных из GridView в

protected void OnRowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        e.Row.Cells[0].Text = Regex.Replace(e.Row.Cells[0].Text, txtSearch.Text.Trim(), delegate(Match match)
        {
            return string.Format("<span style = 'background-color:#D9EDF7'>{0}</span>", match.Value);
        }, RegexOptions.IgnoreCase);
    }
}