如何向datagridview添加动态控件?

时间:2013-10-15 18:01:12

标签: c# .net winforms

我有点困惑在这里我想要一些代码用于这个或控件 这是我的要求 我有这样的datagridview enter image description here

现在当我向总塔卡添加7时,另一个将显示为这个 enter image description here

现在真实的情况是,我将值3添加到总taka然后在第二个gridview中它应该显示为这样

Srno  Meters
1     null
2     null
3     null

同样应该重复向第一个datagridview添加新行我将如何实现这一目标?

1 个答案:

答案 0 :(得分:1)

您可以尝试向CellEndEdit事件处理程序添加代码,然后您可以将已创建的隐藏DataGridView显示为第二个,或者您也可以动态创建DataGridView。由你决定。我更喜欢显示DataGridView并初始化行数。以下是帮助您理解这个想法的代码:

//First you have to layout 2 DataGridViews at design time and set the Visible of the second 
//DataGridView to false
//Your dataGridView2 should also have 2 columns added at design time as shown
//in your second picture.
private void dataGridView1_CellEndEdit(object sender, DataGridViewCellEventArgs e){
  //Suppose the column with header Total kaka has name TotalKaka
  if (dataGridView1.Columns[e.ColumnIndex].Name == "TotalKaka") {
      int i;
      if (int.TryParse(dataGridView1[e.ColumnIndex, e.RowIndex].Value.ToString(), out i))
      {
          dataGridView2.Rows.Clear();
          dataGridView2.Rows.Add(i);
          for (int j = 0; j < i; j++)
             dataGridView2[0, j].Value = j + 1;
          dataGridView2.Show();
          dataGridView2.CurrentCell = dataGridView2[1, 0];
          dataGridView2.Focus();          
      }
  }
}
//you should have some Submit button to submit the values entered into the second
//dataGridView, we should process something and surely hide the dataGridView2
private void submit_Click(object sender, EventArgs e){
    dataGridView2.Hide();
    //other code to process your data
    //....
}

注意:这回答了您在此问题中的实际要求,我猜您可能会遇到更多问题,例如 如何处理dataGridView2中输入的数据 < / STRONG>? 如何以另一种形式显示dataGridView2? ...这样的问题确实存在,我认为你应该在其他问题中寻求解决方案,不要试图要求解决他们就在这个问题上。