2014-02-10 51 views
0

我想创建一个嵌套的DataGridView控件,其中将有两个层次的嵌套始终打开。它看起来类似于这个页面上的图片:http://www.codeproject.com/Articles/12657/GridView-inline-Master-Detail-record-display。不同之处在于每个子嵌入层总是开放的,并且没有必要让用户打开/关闭每个嵌套层。此控件仅用于显示数据,因此不需要直接从此控件修改数据(即使用户不会直接修改数据,仍可以更改)。嵌套的DataGridView控件

如果这不能用DataGridView完成,是否有任何其他控件可以实现这一点。

如果没有人知道另一种方式来做到这一点。我可以,但他们会执行乏味。一种方法是按顺序添加多个DataGridView控件(用于N个类别的2N DataGridControls)。另一个将手动添加静态控件。

+0

我强烈建议使用WPF而不是winforms。 –

+0

是否要将datagridview设置为不可编辑,还是要将表单中的所有datagridview设置为不可编辑? – Jade

+0

学习如何使用WPF然后实现它需要多长时间。 (我不知道它。) – user3291087

回答

0

我不知道这是否会给出答案,但它可能会使你的某个门。

//button to call function that looks for DatagridView control 
private void button2_Click(object sender, EventArgs e) 
{ 
    scanDG(this); 
} 

private void scanDG(Control parent) 
{ 
    foreach (Control ctrl in parent.Controls) 
    { 
     if (ctrl.GetType().Name == "DataGridView") 
     {//If current Control is Datagridview then set Readonly to true 
      ((DataGridView)ctrl).ReadOnly = true; 
     } 

     //If a control can contain control scan it and look for Datagridview control 
     if (ctrl.HasChildren) scanDG(ctrl); 
    } 
}