我现在datagridview 上面有两列 第一列是序列号,第二列是姓名我的代码:
                      foreach (DataGridViewRow row in this.dgvParticipant.Rows)
            {
                Random rnd = new Random();
                int rndNum = rnd.Next(100000000, 999999999);
                row.Cells[0].Value = rndNum.ToString();
            }我在textbox里面输入名字,然后名字添加到datagridview,每添加一个名字,跟着一个序列号,名字是能获取到了,这个可以自理,但是在序列号那一列怎么让它每一行的随机号都不同呢?在线等啊!高手们给我想想办法!谢谢

解决方案 »

  1.   

    Guid.NewGuid()要么就产生新的号去比对
      

  2.   

    我是想从textbox.text获取到的名字添加到名字那一列,然后在序列号里面跟着出现一个随机数,但是问题 我现在每添加一个名字,序列号都会重置并相同。。好烦呀
      

  3.   

      Random rnd = new Random();
      
    foreach (DataGridViewRow row in this.dgvParticipant.Rows)
      {
      int rndNum = rnd.Next(100000000, 999999999);
      row.Cells[0].Value = rndNum.ToString();
      }这样应该就可以了。
     
      

  4.   

    List<string> myNo=new List<string>();  //添加
    bool addResult=false;
    foreach (DataGridViewRow row in this.dgvParticipant.Rows)
       {
       Random rnd = new Random();
      do{
      int rndNum = rnd.Next(100000000, 999999999);
      if(myNO中不存在){
        myNo.Add(rndNum);//添加
    addResult=true;
      }
    }while(addResult);  
       row.Cells[0].Value = rndNum.ToString();
       }
      

  5.   


    那你只能把序号用list记下来 然后判断下是否存在Random rnd = new Random();List<int> lst=new List();
    foreach (DataGridViewRow row in this.dgvParticipant.Rows)
      {  int rndNum = rnd.Next(100000000, 999999999);
    while(lst.Contains(rudNum))
    {
    rndNum = rnd.Next(100000000, 999999999);
    }
      row.Cells[0].Value = rndNum.ToString();
      }
      

  6.   

    因为 foreach 是遍历所有的行,你这个是遍历每行然后给每行的第一列赋值随机数,所以你每次用foreach的时候第一列的序列号都是不一样的。。也就是你说的重置
      

  7.   

    1、你的datagridview 是否是绑定了数据库呢?按照你的意思是想在textbox里输入的姓名,显示在datagridview里,那问题就有了,要是你是绑定了数据库,你可以将textbox里的姓名 insert into 数据库然后你在刷新datagridview就可以了嘛!要是你没绑定数据库,不牵扯数据库的话,而只是想在datagridview里显示数据,那你就可以:先手动给datagridview添加添加序列号和姓名两列  然后  datagridview.Rows.Add(随机数,textbox.text);
    2、要是你绑定了数据库,也不想将textbox数据添加到数据库 然后刷新datagridview,只是想在datagridview里显示一下  ,那你也可以  ((DataTable)dataGridView1.DataSource).Rows.Add(随机数,textbox.text);