Η ερώτηση μετά απο κάποιες προσπάθειες χωρίς να μπορέσω να καταφέρω αυτό που ήθελα είναι,
Πως μπορώ να έχω δύο ComboBoxes στο οποίο θα είναι bound στο ίδιο BindingSource όπου το
DataSource του είναι μια List<MyObject> αλλά σε διαφορετικά properties και αφού αλλάζεις επιλογή στο ένα
αντίστοιχα να αλλάζει και το άλλο. Αυτό υπό κανονικές συνθήκες δεν θα έπρεπε να γίνεται αυτόματα? αφού
αλλάζει το Position του BindingSource? Παρόλα αυτά δεν το είδα να γίνεται. Σε κάποια περίπτωση το κατάφερα,
αλλά καθώς αλλάζεις το πρώτο να αλλάζει και το δεύτερο, όχι το αντίθετο.
Ίσως να φαίνονται λίγο μπερδεμένα αλλά νομίζω πως ο καθένας θα έχει κάνει κάτι τέτοιο.
Η αλήθεια είναι πως χρησιμοποιώ 3rd Party (DevExpress LookUpEdit) για την παρουσίαση των Data, αν και δεν νομίζω ότι
παίζει ρόλο, αφού μιλάμε για basic Windows Forms binding.
Λίγο κώδικας.
MyBinding.DataSource = typeof(MyObject);
MyBinding.DataSource = _dataObject.GetDataList(); // Φέρνει μια λίστα ..
kodikosLookUp.DataBindings.Add("EditValue", MyBinding, "Kodikos", false, DataSourceUpdateMode.OnPropertyChanged);
kodikosLookUp.Properties.DataSource = MyBinding;
kodikosLookUp.Properties.ValueMember = "Kodikos";
kodikosLookUp.Properties.DisplayMember = "Kodikos";
kodikosLookUp.Properties.Columns.Clear();
kodikosLookUp.Properties.Columns.AddRange(new []
{
new LookUpColumnInfo("Kodikos", "Κωδικός"),
new LookUpColumnInfo("Perigrafi", "Περιγραφή"),
});
perigrafiLookUp.DataBindings.Add("EditValue", MyBinding, "Perigrafi", false, DataSourceUpdateMode.OnPropertyChanged);
perigrafiLookUp.Properties.DataSource = MyBinding;
perigrafiLookUp.Properties.ValueMember = "Perigrafi";
perigrafiLookUp.Properties.DisplayMember = "Perigrafi";
perigrafiLookUp.Properties.Columns.Clear();
perigrafiLookUp.Properties.Columns.AddRange(new[]
{
new LookUpColumnInfo("Kodikos", "Κωδικός"),
new LookUpColumnInfo("Perigrafi", "Περιγραφή"),
});
Κάτι θα κάνω λάθος ή δεν έχω καταλάβει σωστά...μπορεί κάποιος να διαφωτίσει?
Ευχαριστώ.