Avec NetVantage Windows Forms 9.1 UltraGrid, je souhaite ajouter des colonnes non liées pour effectuer des calculs simples. La première fois que ce code est entré dans le délégué InitializeLayout, il constate que les colonnes n'existent pas encore et les ajoute ensuite. Étonnamment, quand j'obtiens de nouvelles données, relancez la grille, puis entrez à nouveau ce délégué, il trouve toujours que ces colonnes n'existent pas et essaie ensuite de les ajouter. Une exception est alors lancée: "La clé existe déjà".Comment ajouter des colonnes non liées à Infragistics UltraGrid une seule fois sans lancer d'exception?
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])";