Databinding - DataGridview - BindingSource 101
Hej Eksperter,Findes der en smertefri måde at databinde en liste af mine egne objekter til en datagridview i winforms.
- Jeg vil gerne have brugerens ændringer sendt tilbage til objekterne i listen.
-Og samtidig understøtte DataView/RowFilter + sortering.
Jeg har implementeret INotifyPropertyChanged på objekterne + udskiftet List med SortableBindingList (fra Google søgning). Det tjekker 2 af 3 punkter - jeg kan sætte listen direkte som datasource på en bindingsource og sortere i grid, samt ændringer fra grid opdateres automatisk tilbage til objekterne. Men jeg kan ikke bruge DataView/RowFilter.
public class Cars : INotifyPropertyChanged
{
private string_make;
public string Make
{
get { return make; }
set { make= value; NotifyPropertyChanged("EpisodeName"); }
}
}
SortableBindingList<Car> cars = new SortableBindingList<Car> { new Car....... };
bindingSource1.DataSource = cars;
bindingNavigator1.BindingSource = bindingSource1;
dataGridView1.DataSource = bindingSource1;
Kan jeg få RowFilter på denne tilgang? Eller hvor skal jeg kigge hen for at understøtte filtrering.
Jeg kan også konvertere listen af cars til DataTable, så får jeg adgang til RowFilter og sortering ser også ud til at virke automatisk. Men her kommer ændringer ikke tilbage til listen af biler.
List<Car> cars = new List<Car> { new Car....... };
DataTable dt = CollectionHelper.ConvertTo(cuesheet.Cues);
Findes der virkelig ikke en nem måde at tillade en bruger at arbejde med en liste af objekter i WinForms?