通过DataGridView值的反射设置属性值

时间:2017-11-13 20:09:17

标签: c# .net reflection

我有一个DataGridView,我希望在使用CellEndEdit事件更改单元格值时更改连接到此列表的集合:

var p = wareList[e.RowIndex].GetType().GetProperties()[e.ColumnIndex];

object value = dataGreadView[e.ColumnIndex, e.RowIndex].Value;

p.SetValue(typeof(Ware), Convert.ChangeType(value, p.PropertyType));

但在最后一行我得到了System.Reflection.TargetException: "The object does not match the end type."

1 个答案:

答案 0 :(得分:0)

SetValue()使用该对象设置值。

您的属性未在System.Type上定义,因此传递System.Type会出错。

您需要传递一个实际拥有您属性的对象。