Я создал динамическую сетку, которую я отправил по электронной почте. Но все работает, кроме заголовка текста. Я не могу найти, как я могу определить текст заголовка.
Мой sqlCommand отображает 4 столбца, но когда я использую:
LabelTest.Text = "Init Count: " +grd.Columns.Count;
это показывает, Init Init: 0
Так что я пытаюсь сделать grd.Columns[0].HeaderText = "Something";
, чтобы установить текст заголовка, но, похоже, ничего не работает. Я также попытался изменить 0 на 3,4,5, но та же проблема.
Ошибка:
System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index at System.Collections.ArrayList.get_Item(Int32 index) at..
Есть идеи у кого-нибудь? Спасибо.
Редактировать: Как я создал свой gridview:
GridView grd = new GridView();
// Css style voor de gridview
grd.BorderStyle = System.Web.UI.WebControls.BorderStyle.None;
grd.GridLines = GridLines.None;
grd.RowStyle.HorizontalAlign = HorizontalAlign.Center;
grd.Columns[0].HeaderText = "Something"; //error
grd.Width = 600;
LabelTest.Text = "Init Count: " +grd.Columns.Count;
foreach (DataControlField field in grd.Columns)
{
field.ItemStyle.Width = Unit.Percentage(100 / grd.Columns.Count);
}
if (sendGrid != null)
{
grd.DataSource = sendGrid.ExecuteReader();
grd.DataBind();
}
sendGrid - это имя моего sqlCommand, в котором я выбираю 4 столбца.
Оператор foreach только устанавливает мои столбцы немного дальше друг от друга. Кроме этого я не указываю никаких столбцов или около того, чтобы установить текст заголовка.