С NetVantage Windows Forms 9.1 UltraGrid я хочу добавить некоторые несвязанные столбцы, чтобы выполнить некоторые простые вычисления. В первый раз, когда этот код вводится в делегат InitializeLayout, он обнаруживает, что столбцы еще не существуют, а затем добавляет их. Удивительно, но когда я получаю новые данные, перепроверяю сетку, а затем снова вводим этот делегат, он все же находит, что эти столбцы не существуют, а затем пытается их добавить. Затем генерируется исключение: «Key уже существует».Как добавить несвязанные столбцы в 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])";