For循环索引超出范围?只能添加三个节点,超过就该报错了
如题所示,这是这一段的代码
for (int i = 3; i < ListNode.Count + 3; i++)
{
this.grdList.Columns[i].HeaderText = ListNode[i - 3].Text;
this.grdList.Columns[i].Visible = true;
}
ListNode.Count 只能为1,2,3的时候可以,超过3就报上面的错误,在线等。
------最佳解决方案--------------------肯定是索引超出了,你能保证Columns[i]存在吗
------其他解决方案-------------------- this.grdList.Columns[i]这个超出索引了,和for没关系
------其他解决方案--------------------
上面已经说了好多了,你不能看下么
------其他解决方案--------------------你把 循环node的for 和 循环grdList的for 分开
理清关系就ok了
------其他解决方案--------------------this.grdList.Columns[i - 3]
------其他解决方案--------------------应该是grdList只有6列导致的
------其他解决方案--------------------gridview的列是根据我查出的数据动态生成的,他可能是2列,也可能是3列,或9列
------其他解决方案--------------------不是这样的,我 前三列已经设置值了,自动添加是从第四列开始的
------其他解决方案--------------------那怎么解决呢?
------其他解决方案--------------------你确认有9列么?下个端点看看。
------其他解决方案--------------------这是我gridview的列设置
<Columns>
<asp:TemplateField HeaderText='费用项' SortExpression="WBMCode">
<ItemTemplate>
<%# Eval("WBMCode") == null ? "" : Eval("WBMCode").ToString()%>
</ItemTemplate>
<HeaderStyle HorizontalAlign="Center" />
<ItemStyle HorizontalAlign="Left" />