利用可能なすべてのプランに対してwpf:grid1に2つのデータグリッドがあり、プランのgrid2が選択されました。 2つのグリッドは2つのボタン(>)と(<)で区切られています。ボタン(>)は、選択したプランを関連するプランのグリッド2に追加し、グリッド1から削除することです。ボタン(<)は、grid2の選択項目を削除し、grid1に追加します(選択した計画から削除するため)。wpf datagrids bindingとSelectionMode Single
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();
}
}
<DataGrid Name="grdAllPlans" SelectionMode="Single" ItemsSource="{Binding}">
<Button Click="linkClicked">
<Button Click="UnlinkClicked">
<DataGrid Name="grdSelectedPlans" SelectionMode="Single" ItemsSource="{Binding}">
私は計画を持っている2つのグローバル変数を持っていました
問題は機能していません。初めて選択した計画グリッドに計画を追加すると、それはうまくいくが、その後は両方のグリッドが更新されない。 SelectionMode = "Single"は機能しません。私は複数の行を選択することができました。