0

自動生成フィールドで GridView2.Columns を BoundField として操作する方法は? 範囲外のインデックス?GridView2.Columns[6] as BoundField 自動生成フィールドを使用します。

JobPostDataContext db = 新しい JobPostDataContext();

        var query = from j in db.JobLists
                    join u in db.UserLists
                        on j.UserID equals u.UserID
                    where j.JobTitle.Contains(this.TextBox1.Text)
                    select new
                    {
                        j.JobID,
                        j.JobTitle,
                        j.Summary,
                        j.Details,
                        j.CompanyName,
                        j.CompanyEmail,
                        j.DatePosted,
                        j.UserID,
                        u.City,
                        u.State,
                        u.Country 
                    };

        GridView2.DataSource = query;
        GridView2.DataBind();
        BoundField DatePosted = GridView2.Columns[6] as BoundField;
        DatePosted.DataFormatString = "{0:MMM,dd yy}";
4

1 に答える 1

0

コメントで述べたように、クエリから結果が返されることはないため、(0)列はありません。そのため、にアクセスできませんColumns[6]

Columns.Countは0を返しています。これはゼロ列です。それらのいずれにもアクセスできません。Columns[Index]が0ベースであるのとは異なり、Columns.Countは1ベースです。それがあなたが混乱しているところだと思います。

于 2011-03-14T01:06:24.833 に答える