高手帮我看一下这个,问什么说“集合已修改;枚举操作可能无法执行”?
调试的时候显示“集合已修改;枚举操作可能无法执行”,问题出在//------根据父节点及父节点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,显示所有子结点------