for(int j=0;j<this.sourcedataset.Tables[0].Rows.Count;j++)
{
if(this.sourcedataset.Tables[0].Rows[j]["unitname"]==templist[i])
  这里的i是什么东东

解决方案 »

  1.   

    for(int i=0;i<this.templist.Count;i++)//公司名称已存于templist的集合中
    {
    TreeNode mainnode=new TreeNode(this.templist[i].ToString());
    this.tvprovide.Nodes.Add(mainnode);
    ..................//生成联系人结点
    }  //生成公司名称的结点那个i,是上面的,生成联系结点的代码是包含在上面生成公司结点之中的。
      

  2.   

    为什么要用FOREACH?循环应该是没问题的啊
      

  3.   

    这是我的全部代码
    for(int i=0;i<this.templist.Count;i++)
    {
    TreeNode tempnode=new TreeNode(this.templist[i].ToString());
    this.tvprovide.Nodes.Add(tempnode);
      for(int j=0;j<this.sourcedataset.Tables[0].Rows.Count;j++)
        {
    if(this.sourcedataset.Tables[0].Rows[j]["unitname"]==templist[i])
    {
    TreeNode tempnode1=new TreeNode(this.sourcedataset.Tables[0].Rows[j]["linkman"].ToString());
    this.tvprovide.Nodes[i].Nodes.Add(tempnode1);

    }
         }}
      

  4.   

    debug 看this.tvprovide.Nodes.Add(childnode); 到底执行几次呀。
      

  5.   

    我看过了,第一次创建联系人结点时是可以的,可是后来的居然全跳过了
    TreeNode tempnode1=new TreeNode(this.sourcedataset.Tables[0].Rows[j]["linkman"].ToString());
    this.tvprovide.Nodes[i].Nodes.Add(tempnode1);
    这二段代码根本就没有执行,奇怪的要死
      

  6.   

    try
    this.sourcedataset.Tables[0].Rows[j]["unitname"].tostring().equal(templist[i].tostring())
      

  7.   

    this.sourcedataset.Tables[0].Rows[j]["unitname"]==templist[i]
    改为
    this.sourcedataset.Tables[0].Rows[j]["unitname"].ToString==templist[i].ToString()
    你用Object来比较,那两个对像可能不同。
      

  8.   

    henryfan1:我发誓,我最初的代码是用了Tostrinig()的,可是不行,我调试时发现不用Tostring(),两个对象的值也是正常的,并且确实也进行了比较。
    可是,我现在加了Tostring(),居然行了???????我真的不知道这是为什么???其实我一早就试过了,晕,搞了我一下午。唉,不明白?????
      

  9.   

    行了,就结贴吧。
    henryfan1兄,你帮了我不少了。呵呵