Я относительно новичок в ASP, так что это может быть простым исправлением, которое я просто не выяснил (надеюсь!).Я работаю в VisualStudio2010, используя C #.
По сути, у меня есть таблица в SQL со следующими столбцами: Product, ProductGroup, Attribute1Value, Attribute2Value, Attribute3Value
Для каждой группы продуктов определение атрибута:разные.Например, в ProductGroup1 Attribute1 - это Размер, а Attribute1Value - 2,3,5 и т. Д. В ProductGroup2, Attribute1 - это Качество, а Attribute1Values - это Стандарт, Эконом, Премиум и т. Д.
Я буду только когда-либоизвлекайте по одной группе продуктов за раз и хотели бы, чтобы заголовки моих столбцов отражали определение атрибута (Header = Size, а не Attribute1Value, когда это применимо ".
То, что я хотел бы сделать, это получить представление сетки, котороеневидим для столбцов ProductGroup, Attribute1, Attribute2, Attribute3, а затем присваиваем значения в столбце переменным, которые я могу использовать для переназначения заголовков столбцов. Я смог установить заголовки столбцов на основе других переменных (в частности, выбранного значения израскрывающийся список), но у меня возникают проблемы с кодом для установки переменных, равных значениям gridview.
Когда я попытался
protected void Page_Load(object sender, EventArgs e)
{
lblAttribute1.Text = GridView4.Rows[0].Cells[2].Text;
}
protected void RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
e.Row.Cells[3].Text = lblAttribute1.Text;
}
}
, я получил сообщение об ошибке, что мой индекс вышел за пределы допустимого диапазона.Сначала я подумал, что это может быть потому, что мои Gridviewsне имеют строк при загрузке страницы, только после нескольких выборов из DropDowns, но я не знаю, связаны ли они вообще.Есть ли лучший способ сделать это в целом?
Извините, если это было плохо сформулировано.Пожалуйста, дайте мне знать, какая другая информация вам нужна.
Большое спасибо за вашу помощь!