我有两个DataGrid
具有完全相同的结构,架构和约束,但行数不同。
我需要的是将这些表显示为DataTable
,连接,即首先是DataTable
的行,然后是第二行的行。
我不想加入,合并或创建新DataGrid
对象的任何操作,因为我需要在DataGrid
上显示对这两个原件的更改(以及在另一个方向:如果用户修改了DataTable
中的内容,我希望更新两个原件DataView
。
所以我想我需要的是一种"代理",就像两个DataTable
上的{{1}}一样,但我不知道这是否可能。< / p>
答案 0 :(得分:0)
proxy&#34;,就像两个DataTable上的DataView一样,
我建议创建一个矢量类实体,它具有要显示的列的所有属性。但是这个类实体将保留对原始数据的引用。将两个DataTables提取到这个新对象的一个列表中并绑定到该列表。
要处理更改,请让类遵守INotifyPropertyChange
并创建数据管理器,这将订阅每个实例的属性更改。当经理检测到更改时,它会将更改推回到原始DataTable的行。
public class DataVector : INotifyPropertyChange
{
public DataTable OriginationDataTable { get; set; }
public int OrininationRow { get; set; }
// Mirror the properties
public string Name { get {} { _Name = value; NotifyChange("Name"); }
// CTORs which help create this object
public DataVector(DataTable dt, int originatingRow) { ... }
....
}