Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用自动生成字段将GridView2.Columns作为BoundField操作?_Gridview_String Formatting_Boundfield - Fatal编程技术网

如何使用自动生成字段将GridView2.Columns作为BoundField操作?

如何使用自动生成字段将GridView2.Columns作为BoundField操作?,gridview,string-formatting,boundfield,Gridview,String Formatting,Boundfield,如何使用自动生成字段将GridView2.Columns作为BoundField操作? 索引超出范围?GridView2。列[6]作为边界字段,我使用自动生成字段 JobPostDataContext db=新的JobPostDataContext var query = from j in db.JobLists join u in db.UserLists on j.UserID equa

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

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}";

正如我在评论中提到的,您不会从查询中得到任何结果,因此没有0列。这就是为什么您无法访问列[6]


列。计数返回0。这是零列。您无法访问任何列。计数基于1,而[Index]列基于0。我想这就是您感到困惑的地方。

由于GridView.Columns是一个集合,您可以检查它的.Count属性。它认为它有多少列?但我使用自动生成字段。我怀疑我是否可以访问任何列[索引]。我有很多列只是想操纵其中一个,所以我保留了自动生成选项。我是否可以使用Boundfield编码仅覆盖一列?绑定数据后,将立即生成列。此时,有一个Columns.Count和一个Columns[Index]。在尝试将GridView2.Columns[6]作为BoundField执行之前;,使用GridView1.Columns.Count.ToString检查Columns.Count.it为0,然后如何使用子列6访问0内部。同样,因为我使用自动生成字段,所以即使我尝试GridView2.Columns[0],它仍然会弹出System.ArgumentOutOfRangeException:索引超出范围。必须为非负数且小于集合的大小。