0

如何使用自动生成字段将 GridView2.Columns 操作为 BoundField?索引超出范围?GridView2.Columns[6] as BoundField 我使用自动生成字段。

JobPostDataContext db = new 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.Count 基于 1,与基于 0 的 Columns[Index] 不同。我认为这就是你感到困惑的地方。

于 2011-03-14T01:06:24.833 回答