[ Branko R @ 11.05.2013. 15:05 ] @
| Imam dvije tabele Partneri i StatusiPartnera, koje su vezane po polju StatusID.
Na formi prikazujem Partnere i omogucavam da se putem jednog ComboBox-a CBStatus promijeni status partnera (1-aktivan, 2-neaktivan).
Kada hocu da filtriram tabelu Partneri po polju StatusID, napunim statuse(1-aktivan i 2-neaktivan) u drugi FilterComboBox i podesim da je partneriBindingSource.Filter="StatusID=" + FilterComboBox.SelectedIndex; i to radi.
Kako da u filter ComboBox ubacim i stavku - svi partneri - iskljuci filter ili nesto slicno ?
Bezveze je da u tabelu StatusiPartnera stavim red - svi partneri, jer to nije pravilan status. |
[ Branko R @ 13.05.2013. 17:09 ] @
Nasao sam prihvatljivo rjesenje.
// Pravljenje filter comboBoxa
// napunim lookup tabelu
this.statusiPartneraTableAdapter.Fill(this.mainDS.StatusiPartnera);
// napravim drugu tabelu od klona lookup tabele
DataTable dt = this.mainDS.StatusiPartnera.Clone();
// kopiram podatke iz lookup tabele
this.mainDS.StatusiPartnera.CopyToDataTable(dt,LoadOption.OverwriteChanges);
// napravim novi red i ubacim ga u tabelu
var red = dt.NewRow();
red["StatusID"] = 0;
red["Status"] = "Svi partneri";
dt.Rows.InsertAt(red, 0);
// povezem tabelu sa ComboBox-om
cbFilter.DataSource = dt;
cbFilter.DisplayMember = "Status";
cbFilter.ValueMember = "StatusID";
// prikazujem novu vrijednost
cbFilter.SelectedIndex = 0;
Mogao sam da punim i lookup tabelu, ali pri zatvaranju forme provjeravam ima li izmjena u datasetu i onda
me metoda pita da li zelim da snimim te izmjene.
Ima li neko elegantnije rjesenje ?
Copyright (C) 2001-2024 by www.elitesecurity.org. All rights reserved.