Il programma e suddiviso in questi Form:
Form1: il quale è un MdiContainer,
nel Form1 ho applicto un menu di tipo "ToolStrip" che mi premettera di Swiccare tra i Form Contenuti
Dentro al Form1:
FormTelefonate: contiene un motore di ricerca e una ListView dove elenca le telefonate fatte.
FormImpostazioni: si settano tutte le impostazioni del programma, e si aggiungono anche degli Item che poi si ritrovano nel motore di ricerca del "FromTelefonate".
Altri-Form ................
Nel Progetto ho una Classe "DbManager" nella quale è contenuto tutto il codice per "INSERIMENTI, MODIFICHE, ELIMINAZIONI, POPOLAZIONE-ListView" insomma tutte le Query,
come fanno queste query a sapere cosa Popolare o dove prendere i dati da modificare ???
Gli passo io l'Istanza dello strumento da controllare, cioè:
Su "DbManager":
codice:public bool PopolaCamere(ListView obj) { if (m_oConn.State != ConnectionState.Open) return false; DataSet oDataSet = new DataSet(); ListViewItem li; OleDbDataAdapter oDataAdapter = new OleDbDataAdapter("SELECT " + "camere.iID," + "camere.sCamera," + "tariffazioni.iID_Camera " + "FROM camere " + "LEFT JOIN tariffazioni ON (camere.iID = tariffazioni.iID_Camera) " + "GROUP BY camere.iID, camere.sCamera, tariffazioni.iID_Camera " + "ORDER BY camere.iID ASC;", m_oConn); try { oDataAdapter.Fill(oDataSet, "camere"); } catch { return false; } DataTable oDataTable = oDataSet.Tables["camere"]; obj.Items.Clear(); foreach (DataRow oDataRow in oDataTable.Rows) { li = obj.Items.Add(oDataRow["iID"].ToString()); li.SubItems.Add(oDataRow["sCamera"].ToString()); if (oDataRow.IsNull("iID_Camera")) { li.ForeColor = Color.Red; } else { li.ForeColor = Color.Black; } } return true; }
la chiamata dal "FormImpostazioni":
"lvCamere" è la "ListView" contenente un elenco di camere.codice:DbManager oDbManager = new DbManager(); if (!oDbManager.PopolaCamere(lvCamere)) { MessageBox.Show("Si è verificato un errore durante il caricamento delle Camere.", "Errore!", MessageBoxButtons.OK, MessageBoxIcon.Error); }

Rispondi quotando