Мне нужна помощь для целей моего проекта. Я использую gridview. В котором я пытаюсь вставить некоторые столбцы динамически. Поскольку эти столбцы зависят от разных параметров, при заполнении сетки будут вставляться разные столбцы. Для этого всякий раз, когда я заполняю сетку во второй раз, сначала я удаляю старые динамически добавленные столбцы и добавляю новые. Но я получаю там, где я заполняю сетку во второй раз.
Ниже приведен код, который я использую для динамической обработки и удаления столбцов.
//delete old columns
foreach (string approvalUser in tempSchemaList)
{
if (((GridViewDataColumn)dgEng.Columns[approvalUser]) != null)
dgEng.Columns.Remove((GridViewDataColumn)dgEng.Columns[approvalUser])
}
//inserting new columns
foreach (string approvalUser in approverUsers)
{
GridViewDataColumn datacolumn = new GridViewDataColumn();
datacolumn.Header = approvalUser;
datacolumn.UniqueName = approvalUser;
datacolumn.SortingState = SortingState.Ascending;
datacolumn.DataMemberBinding = new System.Windows.Data.Binding(“ab”);
Interaction.GetBehaviors(datacolumn).Add(new ClosePopupOnApplyFilterBehavior());
dgEng.Columns.Insert(insertIndex, datacolumn);
insertCount++;
insertIndex++;
}
}
И при повторном заполнении сетки я получаю следующую ошибку:
Line: 57
Error: Unhandled Error in Silverlight Application
Code: 4004
Category: ManagedRuntimeError
Message: System.Collections.Generic.KeyNotFoundException: The given key was not present in the dictionary.
at System.ThrowHelper.ThrowKeyNotFoundException()
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at System.Windows.ResourceManagerWrapper.GetResourceForUri(Uri xamlUri, Type componentType)
Подскажите, пожалуйста, что не так и что делать?