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没关系
[其他解释]
</asp:TemplateField>
<asp:BoundField HeaderText='收入 ' SortExpression="IAmount" DataField="IAmount" ReadOnly="true" />
<asp:BoundField HeaderText='直接成本 ' SortExpression="AdjustAmt" DataField="AdjustAmt"
ReadOnly="true" />
<asp:BoundField HeaderText='ExpenseItem1 ' Visible="false" SortExpression="ExpenseItem1"
DataField="ExpenseItem1" ReadOnly="true" />
<asp:BoundField HeaderText='ExpenseItem2 ' Visible="false" SortExpression="ExpenseItem2"
DataField="ExpenseItem2" ReadOnly="true" />
<asp:BoundField HeaderText='ExpenseItem3' Visible="false" SortExpression="ExpenseItem3"
DataField="ExpenseItem3" ReadOnly="true" />
<asp:BoundField HeaderText='ExpenseItem4' Visible="false" SortExpression="ExpenseItem4"
DataField="ExpenseItem4" ReadOnly="true" />
<asp:BoundField HeaderText='ExpenseItem5' Visible="false" SortExpression="ExpenseItem5"
DataField="ExpenseItem5" ReadOnly="true" />
<asp:BoundField HeaderText='ExpenseItem6' Visible="false" SortExpression="ExpenseItem6"
DataField="ExpenseItem6" ReadOnly="true" />
<asp:BoundField HeaderText='ExpenseItem7' Visible="false" SortExpression="ExpenseItem7"
DataField="ExpenseItem7" ReadOnly="true" />
<asp:BoundField HeaderText='ExpenseItem8' Visible="false" SortExpression="ExpenseItem8"
DataField="ExpenseItem8" ReadOnly="true" />
<asp:BoundField HeaderText='ExpenseItem9' Visible="false" SortExpression="ExpenseItem9"
DataField="ExpenseItem9" ReadOnly="true" />
<asp:BoundField HeaderText='利润' SortExpression="ActualAmt" DataField="ActualAmt"
ReadOnly="true" />
</Columns>
[其他解释]