请教一下大家,比如说有一门科目,它的每周上课时间为:星期一  1.2节(每一周都上课),星期二3.4节(单周上课),星期三5.6节(双周上课)现在一个学期有20周,请问一下,我该如何根据我选的周数(比如说我选了2,3,4,5,6,7,8周要上课),其中周数我是用DataGridView1绑定的,用了20个Checkbox类型绑定了20个单元格,每选中一个单元格就表示选中了一周。
请问我该如何根据我选的周次,在另一个DataGridView2中显示出我做的选择呢,DataGridView2其中有周数,和上课时间(也就是星期一  1.2节之类的)两列
我想过用20 个if语句判断,但是怎样才能使DataGridView2得数据循环添加呢???
有人能帮我一下吗?这是属于C#的,小妹不胜感激

解决方案 »

  1.   

    用一个datatable,可以操作datatable,对datatable进行多行添加操作,然后再将datatable赋给dgv
      

  2.   


    for(int i=1;i<=20;i++)
    {
      if(i%2==0)
      {
        //双周
      }
       else //单周
      {
      }
    }
    //至于使GIRDEVIEW循环添加数据
    //只要循环给datasource付值就可以达到你的目的 
      

  3.   

    DataGridView[int a,intb].value表示的某行某列的值,你可以就DataGridView1进行循环
    for(int i=0;i<DataGridView1.rows.count;i++)
    {}
    看你的周次放在第几列,一次获得周次,在判断周次是单周双周就可以在DataGridView2上显示了
      

  4.   

    for(int i=0;i<datagridview1.rows.count;i++)
    {
       if(Convert.ToBoolean(dataGridViewBase1.Rows[i].Cells[30].Value) == true)//cells[0]代表checkbox那列
        {   }
    }
      

  5.   

    比如你的Checkbox放在第一列
    for(int i=0;i<datagridview1.rows.count;i++)
    {
    if(true.Equals(datagridview1[0,i].value)
    {
    这里表示被选中了
    }
    }
      

  6.   

    干嘛要选中,DataGridView不是有checkbox吗?
      

  7.   

    fdh120:但是我的datagridview1只有一行,20个周就有20列,
     if(Convert.ToBoolean(dataGridViewBase1.Rows[i].Cells[30].Value) == true)//cells[0]代表checkbox那列
      {  }
    把i改为0就好,因为只有一行。
    像这样判断了,也就是说我要写20个判断语句罗,我又如何绑定到datagridview2呢??请问
      

  8.   

    To: ayouxinping
    但是我的datagridview1有20列都是checkbox的,分别为20个周,我要选择其中的周数来循环赋给另外一个datagridview2的某一列
      

  9.   

    你发个你的datagridview1截图上来
      

  10.   

    先定义DataTable dt=new DataTable()
    再添加列 dt.Coloumns.add("周数");
    dt.Coloumns.add("时间");
    循环判断
    for(int i=0;i<dataGridView1.Columns.Count;i++)
    {
      if(Convert.ToBoolean(dataGridViewBase1.Rows[0].Cells[i].Value) == true
      {
          DataRow dr=dt.NewRow();
          dr[0]="周数";
          dr[1]="时间";
          dt.Rows.add(dr);
      }

    最后dataGridViewBase2.datasource=dt;
     
      

  11.   

    for (int i = 0; i < this.dataGridView1.ColumnCount; i++) 
                {
                    if(true.Equals(this.dataGridView1[i,0].Value))
                    {
                        现在这里就是你选中的了;
                            其中i就是周数;
                                你可以用你的20个if判断了。
                    }
                }
      

  12.   

    for (int i = 0; i < this.dataGridView1.ColumnCount; i++)  
      {
      if(true.Equals(this.dataGridView1[i,0].Value))
      {
      现在这里就是你选中的了;
      其中i就是周数;
      你可以用你的20个if判断了。
             如if(第一周)
            {
           this.dataGridView.Rows.Add("周数","shijian".....);       }  }
      }