NetVantage Windows Forms 9.1 UltraGrid에서 몇 가지 간단한 계산을 수행하기 위해 언 바운드 열을 추가하고 싶습니다. 이 코드가 InitializeLayout 대리자에 처음 입력되면 열이 아직 존재하지 않는다고 확인한 다음 추가합니다. 현저하게, 새로운 데이터를 얻었을 때, 그리드를 재 바인드 한 다음이 델리게이트를 다시 입력하면, 여전히 이러한 컬럼이 존재하지 않는다는 것을 알게되고 추가하려고 시도합니다. 그런 다음 예외가 throw됩니다. "키가 이미 있습니다."예외를 throw하지 않고 언 바운드 열을 Infragistics UltraGrid에 한 번만 추가하는 방법은 무엇입니까?
UltraGridColumn changeColumn, pctChgCol;
if (e.Layout.Bands[0].Columns.Contains("Change"))
{
changeColumn = e.Layout.Bands[0].Columns["Change"];
pctChgCol = e.Layout.Bands[0].Columns["Percent Change"];
}
else
{
changeColumn = e.Layout.Bands[0].Columns.Add("Change");
pctChgCol = e.Layout.Bands[0].Columns.Add("Percent Change");
}
changeColumn.Formula = "[Publish Price] - [Override Price]";
pctChgCol.Formula = "if(0=[Publish Price] , 0 , ([Publish Price] - [Override Price])/[Publish Price])";