0

メールで送信する動的グリッドビューを作成しました。ただし、ヘッダーテキストを除いてすべて機能します。ヘッダーテキストを定義する方法が見つからないようです。

私のsqlCommandは4つの列を表示しますが、使用すると:

 LabelTest.Text = "Init Count: " +grd.Columns.Count;

それが示す、初期化カウント: 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 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 は、4 つの列を選択する sqlCommand の名前です。

foreach ステートメントは、列を互いに少しだけ離して設定します。それ以外は、ヘッダーテキストを設定するために列などを指定していません。

4

1 に答える 1

0

を使用している場合

DataControlField

列を追加するには、その設定

行ヘッダー列

プロパティを取得し、それを GridView に追加します。

于 2011-04-12T10:10:38.307 に答える