对于GridView要想修改其列名,再网上查了一下好多是这样写的,这样写都是以失败告终.
GridView1.AutoGenerateColumns = false;
this.GridView1.DataSource = Dataview;
this.GridView1.DataBind();
this.GridView1.Columns[0].HeaderText = "序号";
在最后一句提示:
索引超出范围。必须为非负值并小于集合大小。
参数名: index
正确的写法是:
BoundField field = new BoundField();
field.DataField = nds["name"].Value;
field.HeaderText = nds["Caption"].Value;
GridView1.Columns.Add(field);
原因是当GridView1.AutoGenerateColumns = false 后GridView会不自动匹配列名帮定,这个时候GridView1.Columns是一个空集合,所以需要重新动态添加BoundField .这样之后再重绑定数据.
GridView1.AutoGenerateColumns = false;
this.GridView1.DataSource = Dataview;
this.GridView1.DataBind();
this.GridView1.Columns[0].HeaderText = "序号";
在最后一句提示:
索引超出范围。必须为非负值并小于集合大小。
参数名: index
正确的写法是:
BoundField field = new BoundField();
field.DataField = nds["name"].Value;
field.HeaderText = nds["Caption"].Value;
GridView1.Columns.Add(field);
原因是当GridView1.AutoGenerateColumns = false 后GridView会不自动匹配列名帮定,这个时候GridView1.Columns是一个空集合,所以需要重新动态添加BoundField .这样之后再重绑定数据.