如何创建显示部分类属性的DGV列?

时间:2012-04-01 18:20:58

标签: c# winforms datagridview partial-classes

我正在使用C#(.NET 4.0,使用EntityFramework)编写winforms应用程序。

我想将一个计算属性添加到实体,我使用了一个分部类。我可以从代码访问新属性,但不能从设计器(datasource,edmx,datagridview,...)访问。我的datagridview绑定到实体绑定源(例如employeeBindingSource)。

我想将我的计算属性(从部分类)添加到datagridview作为只读列。到目前为止,我找到的唯一解决方案是为我弄乱(Properties in partial class not appearing in Data Sources window!)。我宁愿以编程方式添加列。

我该如何处理?

感谢您的时间和答案。

1 个答案:

答案 0 :(得分:1)

我所做的是通常在设计器中设计datagridview,尽可能多(除了部分类的列以外的所有列)。然后在我的usercontrol(或表单或任何你有的)构造函数:

//in constructor
datagridview.AutoGenerateColumns = true;

然后在我的usercontrol的load事件中,我隐藏了我得到的不需要的列,因为我设置了dgv.AutoGenerateColumns = true;并且还可以从partial class属性修改列的标题文本(或任何您需要的内容)。

//load event
 employeeDataGridView.Columns[11].Visible = false;
 employeeDataGridView.Columns[12].HeaderText = "Partial class prop";

我希望它会帮助别人。