メールで送信する動的グリッドビューを作成しました。ただし、ヘッダーテキストを除いてすべて機能します。ヘッダーテキストを定義する方法が見つからないようです。
私の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 ステートメントは、列を互いに少しだけ離して設定します。それ以外は、ヘッダーテキストを設定するために列などを指定していません。