столбец поиска asp.net из динамического представления сетки

Я создаю динамический GridView из DataTable, возвращаемого хранимой процедурой. Я звоню и связываюсь со следующим кодом:

DataTable dt = Sql.reportData(Convert.ToInt32(Session["userID"]));
this.GridView1.DataSource = dt.DefaultView;
this.GridView1.DataBind();

Мне нужно изменить стиль определенных столбцов, но они не всегда имеют один и тот же номер столбца и имеют только текстовую строку заголовков для ее идентификации. Есть ли простой способ отследить такой столбец, чтобы я мог редактировать его атрибуты?

Спасибо, Алекс


person Alex    schedule 05.11.2009    source источник


Ответы (2)


Я сам столкнулся с этим. Вы должны пройтись по именам столбцов, получить индекс, а затем обратиться к индексу, чтобы управлять стилем.

Мухаммад прав насчет времени, но вы не будете искать метку — кажется, вы хотите стилизовать всю колонку, верно?

http://forums.asp.net/p/1076872/1584635.aspx

выше есть несколько версий решения.

person John    schedule 05.11.2009
comment
да, нужно изменить стиль целых столбцов, просто взглянув на aspadvice.com/blogs/joteke/archive/2007/02/19/2200_field-name_2200.aspx, который упоминается в указанной вами ссылке. Спасибо, обновлю, как только разберусь :) - person Alex; 05.11.2009

Лучше всего найти элемент управления и использовать его в событии RowCreated. RowDataBound не следует использовать, потому что вам не нужно манипулировать данными, с которыми связывается столбец. Поэтому измените стиль элементов в столбце, выполнив поиск по событию RowCreated.

protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
  e.Row.FindControl("");
} 
person Ravinder Singh    schedule 05.11.2009