C# 如何克隆UltraGridRow(基础设施)?

C# 如何克隆UltraGridRow(基础设施)?,c#,.net,infragistics,C#,.net,Infragistics,我想将UltraGridRow克隆到UltraGridRow的一个新实例中,只更改两个单元格。然后我想将这个新的UltraGridRow实例添加到我的Band中 我正在寻找一种方法,不必逐个遍历每个单元格,将它们复制到新实例中 有什么智能有效的方法可以做到这一点吗?UltraGridRow有一个CopyFrom方法,应该可以做到这一点()。下面是对您的场景的测试: [Test] public void CloneRowCellsTest() { UltraGridRow objSource

我想将UltraGridRow克隆到UltraGridRow的一个新实例中,只更改两个单元格。然后我想将这个新的UltraGridRow实例添加到我的Band中

我正在寻找一种方法,不必逐个遍历每个单元格,将它们复制到新实例中


有什么智能有效的方法可以做到这一点吗?

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
}

谢谢你的回复。我认为这就是解决办法。但我无法应用它,因为在Infragistics 2006中,似乎没有CopyFrom()。但希望在圣诞节前后升级时,我能这样做。这是一个少得多的代码编写…这里提供的答案应该为您工作。。。