在不重新绑定的情况下将项目添加到网格的数据源
Add item to Grid's DataSource without rebinding
我的 DataGrid(Windows 表单应用程序)绑定到匿名类型项目列表。因为是基数class不知道grid到底绑定了什么匿名类型
我想访问列表并添加新项目。
我可以使用以下方法提取列表项类型:ListBindingHelper.GetListItemType
我可以使用以下方法创建完全相同类型的新项目:Activator.CreateInstance
但我找不到从数据源访问 List<anonymous>
并将创建的项目添加到列表的方法。
我当然可以这样做:
var dsList = ((IEnumerable)this.TheGrid.DataSource).OfType<object>().ToList();
dsList.Add(nItem0);
this.TheGrid.DataSource = dsList;
但它会导致重新绑定,我想避免它。只想添加 1 个新行,而不是重新绑定网格中存在的数千行。
有人可以帮忙吗?
我的 DataGrid(Windows 表单应用程序)绑定到匿名类型项目列表。因为是基数class不知道grid到底绑定了什么匿名类型
我想访问列表并添加新项目。
我可以使用以下方法提取列表项类型:ListBindingHelper.GetListItemType
我可以使用以下方法创建完全相同类型的新项目:Activator.CreateInstance
但我找不到从数据源访问 List<anonymous>
并将创建的项目添加到列表的方法。
我当然可以这样做:
var dsList = ((IEnumerable)this.TheGrid.DataSource).OfType<object>().ToList();
dsList.Add(nItem0);
this.TheGrid.DataSource = dsList;
但它会导致重新绑定,我想避免它。只想添加 1 个新行,而不是重新绑定网格中存在的数千行。
有人可以帮忙吗?