首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

For循环目录超出范围?只能添加三个节点,超过就该报错了

2012-12-17 
For循环索引超出范围?只能添加三个节点,超过就该报错了如题所示,这是这一段的代码for (int i 3 i Lis

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没关系
[其他解释]

引用:
引用:this.grdList.Columns[i]这个超出索引了,和for没关系那怎么解决呢?


上面已经说了好多了,你不能看下么
[其他解释]
你把     循环node的for  和   循环grdList的for  分开

理清关系就ok了
[其他解释]
this.grdList.Columns[i - 3]
[其他解释]
应该是grdList只有6列导致的
[其他解释]
引用:
肯定是索引超出了,你能保证Columns[i]存在吗
gridview的列是根据我查出的数据动态生成的,他可能是2列,也可能是3列,或9列
[其他解释]
引用:
this.grdList.Columns[i - 3]
不是这样的,我 前三列已经设置值了,自动添加是从第四列开始的
[其他解释]
引用:
this.grdList.Columns[i]这个超出索引了,和for没关系
那怎么解决呢?
[其他解释]
你确认有9列么?下个端点看看。
[其他解释]
这是我gridview的列设置
 <Columns>
                            <asp:TemplateField HeaderText='费用项' SortExpression="WBMCode">
                                <ItemTemplate>
                                    <%# Eval("WBMCode") == null ? "" : Eval("WBMCode").ToString()%>
                                </ItemTemplate>
                                <HeaderStyle HorizontalAlign="Center" />
                                <ItemStyle HorizontalAlign="Left" />


                            </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>
[其他解释]

引用:
引用:引用:this.grdList.Columns[i]这个超出索引了,和for没关系那怎么解决呢?

上面已经说了好多了,你不能看下么
不好意思,之前我看了可是也还是解决不了,他的咧是自动生成的,不是

热点排行