我正在使用C#(.NET 4.0,使用EntityFramework)编写winforms应用程序。
我想将一个计算属性添加到实体,我使用了一个分部类。我可以从代码访问新属性,但不能从设计器(datasource,edmx,datagridview,...)访问。我的datagridview绑定到实体绑定源(例如employeeBindingSource)。
我想将我的计算属性(从部分类)添加到datagridview作为只读列。到目前为止,我找到的唯一解决方案是为我弄乱(Properties in partial class not appearing in Data Sources window!)。我宁愿以编程方式添加列。
我该如何处理?
感谢您的时间和答案。
答案 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";
我希望它会帮助别人。