给DataGridView动态添加行,怎样根据模拟量分区数的不同,下面自动添加相应的行? 
一个分区里有四个字段,比如模拟分区数是5,那就添加20行!

解决方案 »

  1.   

    看不见图,如果没绑定数据集的话,就直接添加,Rows.Add(20),添加20行
      

  2.   

    不是简单的一次性添加20行,是根据上面模拟量的分区数,下面自动更新。比如说分区数是5
    下面的模拟分区就到五
    模拟量分区5-功能码=3
    模拟量分区5-数据类型=int2
    模拟量分区5-寄存器数量=1
    模拟量分区5-起始地址=4
    模拟量分区4-功能码=3
    模拟量分区4-数据类型=int2
    模拟量分区4-寄存器数量=1
    模拟量分区4-起始地址=3
    模拟量分区3-功能码=3
    模拟量分区3-数据类型=int2
    模拟量分区3-寄存器数量=1
    模拟量分区3-起始地址=2
    模拟量分区2-功能码=3
    模拟量分区2-数据类型=int2
    模拟量分区2-寄存器数量=1
    模拟量分区2-起始地址=1
    模拟量分区1-功能码=3
    模拟量分区1-数据类型=int2
    模拟量分区1-寄存器数量=1
    模拟量分区1-起始地址=0
      

  3.   

    不是简单的一次性添加20行,是根据上面模拟量的分区数,下面自动更新。比如说分区数是5
    下面的模拟分区就到五
    模拟量分区5-功能码=3
    模拟量分区5-数据类型=int2
    模拟量分区5-寄存器数量=1
    模拟量分区5-起始地址=4
    模拟量分区4-功能码=3
    模拟量分区4-数据类型=int2
    模拟量分区4-寄存器数量=1
    模拟量分区4-起始地址=3
    模拟量分区3-功能码=3
    模拟量分区3-数据类型=int2
    模拟量分区3-寄存器数量=1
    模拟量分区3-起始地址=2
    模拟量分区2-功能码=3
    模拟量分区2-数据类型=int2
    模拟量分区2-寄存器数量=1
    模拟量分区2-起始地址=1
    模拟量分区1-功能码=3
    模拟量分区1-数据类型=int2
    模拟量分区1-寄存器数量=1
    模拟量分区1-起始地址=0
      

  4.   

    DataGridView控件在实际应用中非常实用,特别需要表格显示数据时。可以静态绑定数据源,这样就自动为DataGridView控件添加相应的行。假如需要动态为DataGridView控件添加新行,方法有很多种,下面简单介绍如何为DataGridView控件动态添加新行的两种方法:
    方法一:
    int index=this.dataGridView1.Rows.Add();
    this.dataGridView1.Rows[index].Cells[0].Value = "1"; 
    this.dataGridView1.Rows[index].Cells[1].Value = "2"; 
    this.dataGridView1.Rows[index].Cells[2].Value = "监听";利用dataGridView1.Rows.Add()事件为DataGridView控件增加新的行,该函数返回添加新行的索引号,即新行的行号,然后可以通过该索引号操作该行的各个单元格,如dataGridView1.Rows[index].Cells[0].Value = "1"。这是很常用也是很简单的方法。
    方法二:
    DataGridViewRow row = new DataGridViewRow();
    DataGridViewTextBoxCell textboxcell = new DataGridViewTextBoxCell();
    textboxcell.Value = "aaa";
    row.Cells.Add(textboxcell);
    DataGridViewComboBoxCell comboxcell = new DataGridViewComboBoxCell();
    row.Cells.Add(comboxcell);
    dataGridView1.Rows.Add(row);
    方法二比方法一要复杂一些,但是在一些特殊场合非常实用,例如,要在新行中的某些单元格添加下拉框、按钮之类的控件时,该方法很有帮助。
    DataGridViewRow row = new DataGridViewRow();是创建DataGridView的行对象,DataGridViewTextBoxCell是单元格的内容是个TextBox,DataGridViewComboBoxCell是单元格的内容是下拉列表框,同理可知,DataGridViewButtonCell是单元格的内容是个按钮,等等。textboxcell是新创建的单元格的对象,可以为该对象添加其属性。然后通过row.Cells.Add(textboxcell)为row对象添加textboxcell单元格。要添加其他的单元格,用同样的方法即可。
    最后通过dataGridView1.Rows.Add(row)为dataGridView1控件添加新的行row。
      

  5.   

    写一个for循环!但写不出来,呵呵自己写出来了分享一下: 
      

  6.   

    int i = int.Parse(dataGridView1.Rows[12].Cells[1].Value.ToString());
                int k,j;
               
                    for (k = 0; k <i; k++)
                    {
                        j = k + 1;
                        this.dataGridView1.Rows.Add(4);
                        dataGridView1.Rows[17+k*4].Cells[0].Value = "模拟量分区" + j + "-起始地址";
                        dataGridView1.Rows[17 + k * 4].Cells[2].Value = "3";
                        dataGridView1.Rows[17 + k * 4].Cells[3].Value = "";
                        dataGridView1.Rows[17 + k * 4 + 1].Cells[0].Value = "模拟量分区" + j + "-寄存器数量";
                        dataGridView1.Rows[17 + k * 4 + 1].Cells[2].Value = "3";
                        dataGridView1.Rows[17 + k * 4 + 1].Cells[3].Value = "";
                        dataGridView1.Rows[17 + k * 4 + 2].Cells[0].Value = "模拟量分区" + j + "-数据类型";
                        dataGridView1.Rows[17 + k * 4 + 2].Cells[2].Value = "3";
                        dataGridView1.Rows[17 + k * 4 + 2].Cells[3].Value = "";
                        dataGridView1.Rows[17 + k * 4 + 3].Cells[0].Value = "模拟量分区" + j + "-功能码";
                        dataGridView1.Rows[17 + k * 4 + 3].Cells[2].Value = "3";
                        dataGridView1.Rows[17 + k * 4 + 3].Cells[3].Value = "";
                    }