Изменить текст заголовка в динамическом gridview с sqlCommand - PullRequest
0 голосов
/ 12 апреля 2011

Я создал динамическую сетку, которую я отправил по электронной почте. Но все работает, кроме заголовка текста. Я не могу найти, как я могу определить текст заголовка.

Мой 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 только устанавливает мои столбцы немного дальше друг от друга. Кроме этого я не указываю никаких столбцов или около того, чтобы установить текст заголовка.

1 Ответ

0 голосов
/ 12 апреля 2011

Если вы используете

DataControlField

для добавления столбцов, установите его

RowHeaderColumn

свойство, а затем добавьте его в GridView.

...