Изменение шрифта в GridView

#c# #asp.net #.net #ado.net

#c# #asp.net #.net #ado.net

Вопрос:

Как я могу поместить все данные, которые находятся в строке в моем GridView, жирным шрифтом, если другой столбец этого GridView имеет значение «1», например?

Эти столбцы не могут быть видны пользователю. Я использую SqlDataSource для заполнения моего GridView

Ответ №1:

Вы могли бы:

  • Используйте GridView.Событие RowDataBound для проверки данных, которые вы записываете в каждый столбец (в вашем случае вы должны проверить значение «1»).
  • Если ваше условие выполнено, установите флаг.
  • Как только флаг установлен, вы можете проверять его при записи каждой новой строки (опять же, используя событие, описанное выше). При написании строки, которую вы хотите выделить жирным шрифтом, установите флажок. Если флаг установлен, измените свойство CssClass объекта Row на класс, который вы создали в своей таблице стилей, который имеет text-weight:bold или похож.

Ответ №2:

Вы можете установить шрифт и другую информацию о стиле для каждой ячейки, которую вы можете получить с table.Rows[row].Cells[col] помощью where row / col — ваши номера строк и столбцов.

Вот документация для TableCell :
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.tablecell.aspx

Вы также должны иметь возможность устанавливать стили для каждой строки, используя GridViewRow класс, представленный table.Rows . Вот ссылка на статью MSDN для этого:
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridviewrow.aspx

Ответ №3:

  void myGrid_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {            
           if (((myobject)e.Row.DataItem).myfield == "1")
           {
              e.Row.CssClass="myclass";
           }             
        }
    }