我目前正在重构一些非常糟糕的旧代码。我将有一个类创建Treeview,填充节点等,并显示在Winform上。 Treeview上的每个节点都代表一些数据,当用户点击它时,数据网格视图也会显示在Winform上。 datagridview也将在新类中生成。
我的想法是,当Winform加载时,创建并显示Treeview并使用事件来监视节点点击。当Winform处理这样的事件时,它会创建datagrid对象并显示它。
这是构建这个的最好方法吗?
感谢。
答案 0 :(得分:1)
是的,您所描述的是在WinForms中执行操作的标准方法。
您不需要每次都创建DataGridView - 只需将其放在Form上,然后在事件处理程序中从某处加载数据并通过分配给DataGridView.DataSource来更改DataGridView的内容。
在表单设计器中,为DataGridView定义列,并将其DataPropertyName设置为集合中数据对象的相应属性的名称。
注意:如果您使用ADO.NET从数据库中读取对象,则分配给DataGridView.DataSource的数据可以是对象集合,也可以是DataTable。
答案 1 :(得分:1)
只需使用TreeView.AfterSelect事件即可。只要用户通过键盘或鼠标选择另一个节点,它就会触发。如果完全更换它,请务必丢弃旧的DGV。