日期:2014-05-20  浏览次数:20756 次

高手帮我看一下这个,问什么说“集合已修改;枚举操作可能无法执行”?
调试的时候显示“集合已修改;枚举操作可能无法执行”,问题出在//------根据父节点及父节点id,显示所有子结点------下“foreach   (DataRow   Dr   in   Ds.Tables[ "tempTable "].Rows)”代码中,是什么原因造成的,需要怎么处理?

代码如下:
using   System;
using   System.Collections.Generic;
using   System.ComponentModel;
using   System.Data;
using   System.Drawing;
using   System.Text;
using   System.Windows.Forms;
using   System.Data.SqlClient;

namespace   mysystem
{
        public   partial   class   SystemFrm   :   Form
        {
                public   DataSet   Ds   =   new   DataSet();
                public   SystemFrm()
                {
                        InitializeComponent();
                }

                //------初始SysTemFrm------
                private   void   SystemFrm_Load(object   sender,   EventArgs   e)
                {
                        InitTree(-1);
                }

                //------绑定personlist到personlist_TreeView,显示系统用户树形跟目录------
                private   void   InitTree(int   rootid)
                {
                        LinkDatabase( "select   *   from   personlist   where   parent_id= "   +   rootid);
                        foreach   (DataRow   Dr   in   Ds.Tables[ "tempTable "].Rows)
                        {
                                int   id;
                                id   =   (int)Dr[ "id "];
                                TreeNode   rootNode   =   new   TreeNode();
                                rootNode.Text   =   Dr[ "name "].ToString();
                                rootNode.Tag   =   id;
                                personlist_TreeView.Nodes.Add(rootNode);
                                CreateChildNodes(rootNode,   id);
                        }
                }

                //------根据父节点及父节点id,显示所有子结点------