【发布时间】:2015-04-01 03:54:21
【问题描述】:
前提:我有一个“用户”类,它有一个列表类型的属性来表示与用户关联的“办公室”列表。
我有一个与“Office”列表相关联的 BindingSource,其中网格被钩住以插入新元素。
似乎一切正常,当我单击新行并在列表中写入一个值时,将添加到新对象“Office”
问题在于,除了用户输入的数据之外,我还想自动插入一些默认值(例如:guid),我知道我可以在网格中使用隐藏列来执行此操作,但我不喜欢太多的解决方案,我想直接在对象上工作。
我尝试过这个活动
DataBindingComplete(object sender, DataGridViewBindingCompleteEventArgs e)
这是在新对象“office”添加到列表后调用但我无法恢复它,因为我不知道插入了哪一行,而只知道一个通用词“ItemAdded”
我也试过用这个方法
DefaultValuesNeeded(object sender, System.Windows.Forms.DataGridViewRowEventArgs e)
但这对我来说是在我的对象“办公室”被添加到列表之前调用的,我无法设置默认值。
长话短说:如何在不使用隐藏列的情况下手动设置从 gridview 自动添加到列表的对象的属性值?
【问题讨论】:
-
为什么不能在 Office 类中添加一个属性
Guid guid=Guid.NewGuid();? -
已经有了,我生成了实体框架,问题不在于如何设置 guid ,而在于如何设置自动生成网格视图的对象的属性值
标签: c# winforms entity-framework data-binding datagridview