【问题标题】:How to create a DGV column displaying a property from partial class?如何创建显示部分类属性的 DGV 列?
【发布时间】:2012-04-01 18:20:57
【问题描述】:
我正在用 C#(.NET 4.0,使用 EntityFramework)编写一个 winforms 应用程序。
我想将计算属性添加到实体中,我使用部分类进行了此操作。我可以从代码访问新属性,但不能从设计器(数据源、edmx、datagridview...)访问。我的 datagridview 绑定到实体绑定源(例如employeeBindingSource)。
我想将我的计算属性(来自部分类)作为只读列添加到 datagridview。到目前为止,我发现的唯一解决方案是让我一团糟(Properties in partial class not appearing in Data Sources window!)。我宁愿以编程方式添加列。
我应该如何处理这个问题?
感谢您的时间和回答。
【问题讨论】:
标签:
c#
winforms
datagridview
partial-classes
【解决方案1】:
我所做的是尽可能在设计器中正常设计datagridview(除部分类之外的所有列)。然后在我的用户控件(或表单或任何你拥有的)构造函数中:
//in constructor
datagridview.AutoGenerateColumns = true;
然后在我的用户控件的加载事件中,我隐藏了不需要的列,因为我设置了 dgv.AutoGenerateColumns = true;并且还从部分类属性修改列的标题文本(或您需要的任何内容)。
//load event
employeeDataGridView.Columns[11].Visible = false;
employeeDataGridView.Columns[12].HeaderText = "Partial class prop";
我希望它会对某人有所帮助。