UltraGridRow を UltraGridRow の新しいインスタンスに複製し、2 つのセルのみを変更したいと考えています。次に、この新しい UltraGridRow インスタンスをバンドに追加したいと思います。
各セルを 1 つずつ新しいインスタンスにコピーする必要がないようにする方法を探しています。
これを行うためのインテリジェントで効果的な方法はありますか?
UltraGridRow を UltraGridRow の新しいインスタンスに複製し、2 つのセルのみを変更したいと考えています。次に、この新しい UltraGridRow インスタンスをバンドに追加したいと思います。
各セルを 1 つずつ新しいインスタンスにコピーする必要がないようにする方法を探しています。
これを行うためのインテリジェントで効果的な方法はありますか?
UltraGridRow には、トリックを実行する CopyFrom メソッドがあります (ドキュメント)。シナリオのテストは次のとおりです。
[Test]
public void CloneRowCellsTest()
{
UltraGridRow objSource = new UltraGridRow();
objSource.Cells.Add(new UltraGridCell("Original value for cell 0"));
objSource.Cells.Add(new UltraGridCell("Original value for cell 1"));
UltraGridRow objDestination = new UltraGridRow();
objDestination.CopyFrom(objSource);
objDestination.Cells[1].Value = "New value for cell 1";
Assert.AreEqual(objSource.Cells.Count, objDestination.Cells.Count);
Assert.AreEqual("Original value for cell 0", objDestination.Cells[0].Value); //Ensure that the value was copied
Assert.AreEqual("New value for cell 1", objDestination.Cells[1].Value); //Ensure that the new value was set
Assert.AreEqual("Original value for cell 1", objSource.Cells[1].Value); //Ensure that the original was unchanged
}