У меня было две таблицы данных в wpf: grid1 для всех доступных планов и grid2 для выбранных планов.Две сетки разделены двумя кнопками (>) и (<).Кнопка (>) - добавить выбранный план в сетку 2 связанных планов и удалить его из сетки 1.Кнопка (<) предназначена для удаления выбранного элемента из grid2 и добавления его в grid1 (для удаления из выбранных планов). </p>
<DataGrid Name="grdAllPlans" SelectionMode="Single" ItemsSource="{Binding}">
<Button Click="linkClicked">
<Button Click="UnlinkClicked">
<DataGrid Name="grdSelectedPlans" SelectionMode="Single" ItemsSource="{Binding}">
У меня было две глобальные переменные с планами:
static List<PlanDTO> PlansAssociated = new List<PlanDTO>(); //contain plans selected
static List<PlanDTO> PlansAvailable = new List<PlanDTO>(); //contain all plans not selected
Это вызов метода для привязки плана (удалить из grid1 и добавить его в grid2):
private void linkClicked(object sender, RoutedEventArgs e)
{
if (grdAllPlans.SelectedItem != null)
{
PlanDTO selectedPlan = (PlanDTO)grdAllPlans.SelectedItem;
PlansAvailable.Remove(selectedPlan); //remove from collection PlansAvailable
PlansAssociated.Add(selectedPlan); //add it to selected collection
//Update grid1
srcCollectionViewAvailable.Source = PlansAvailable;
grdPlansDisponibles.ItemsSource = srcCollectionViewAvailable.View;
//Update grid2
srcCollectionViewAssociated.Source = PlansAssociated;
grdPlansAsociés.ItemsSource = srcCollectionViewAssociated.View;
grdPlansAsociés.UnselectAll();
grdPlansDisponibles.UnselectAll();
}
}
Проблема, с которой он не работает.В первый раз, когда я добавляю план в сетку выбранного плана, он делает это хорошо, но после этого обе сетки не обновляются.Также SelectionMode = "Single" не работают.Я был в состоянии выбрать несколько строк.