private void ShowFragen() { UmfrageInfo umfr = SessionContainer.ReadFromSession(this).Umfrage; // alle Fragen zu der Umfrage aus der DB ziehen SqlParameter pAllFragen = DataAccessFragen.Paramr_UmfrageID; pAllFragen.Value = umfr.UmfrageID; DataParameters parameters = new DataParameters(); parameters.Add(pAllFragen); DSFragen dsAllFragen = new DataAccessFragen().Select(parameters); // DataGrid vorbereiten m_dgFragedarstellung.DataSource = dsAllFragen.fragen; m_dgFragedarstellung.DataBind(); // Fragen in Datagrid eintragen for (int i = 0; i < m_dgFragedarstellung.Items.Count; i++) { // Titel setzen Label lb = (Label)DataGridAccess.GetControlFromDataGrid(m_dgFragedarstellung.Items[i], typeof(Label), 1, 0); if (lb != null) { lb.Text = dsAllFragen.fragen[i].Text; } // Antwortmöglickeiten darstellen PutAntworten(m_dgFragedarstellung.Items[i],dsAllFragen.fragen[i].FrageID, dsAllFragen.fragen[i].Frageart); } }
private void SaveFrage() { if (IsValid) { // Fehlermessage zurückssetzen m_lbValidatorMessageFrage.Visible = false; // Daten vorbereiten UmfrageInfo umfr = SessionContainer.ReadFromSession(this).Umfrage; int frageart = DBConstants.TextFrage; if (m_rdbTextfrage.Checked) { frageart = DBConstants.TextFrage; } else if (m_rdbUndFrage.Checked) { frageart = DBConstants.UndFrage; } else if (m_rdbOderFrage.Checked) { frageart = DBConstants.OderFrage; } // Fragedatensatz aktualisieren oder neu anlegen DataAccessFragen daFragen = new DataAccessFragen(); DSFragen dsFragen = daFragen.GetFrageByID(FrageID); if (dsFragen.fragen.Count == 0) { // Frage besteht noch nicht in der DB, neuen Datensatz anlegen dsFragen.fragen.AddfragenRow(umfr.UmfrageID, m_txtFrageTitel.Text.Trim(), frageart, 0); } else if (dsFragen.fragen.Count == 1) { // Frage besteht schon, Datensatz aktualisieren dsFragen.fragen[0].Text = m_txtFrageTitel.Text.Trim(); dsFragen.fragen[0].Frageart = frageart; } daFragen.CommitChanges(dsFragen); // ID des neuen Datensatzes in die FrageID schreiben FrageID = dsFragen.fragen[0].FrageID; RefreshDGFragen(); } else { m_lbValidatorMessageFrage.Visible = true; } }
private void m_btnLoeschen_Click(object sender, System.EventArgs e) { ArrayList idCache = new ArrayList(); // IDs aller selektierten Fragen ermitteln for (int i = 0; i < m_dgFragen.Items.Count; i++) { CheckBox cbx = (CheckBox)DataGridAccess.GetControlFromDataGrid(m_dgFragen.Items[i], typeof(CheckBox), 1, 0); if (cbx != null && cbx.Checked) { // ID der selektierten Frage zwischenspeichern idCache.Add(Convert.ToInt32(m_dgFragen.Items[i].Cells[0].Text)); } } // Für jede ID den entsprechenden Datensatz aus der DB ziehen und löschen DataAccessFragen daFragen = new DataAccessFragen(); foreach (int id in idCache) { // alle Datensätze aus dem DataSet löschen daFragen.DeleteFrage(id); // Falls die in Bearbeitung befindliche Frage gelöscht wird // die Fragebearbeitungsanzeige zurücksetzen if (id == FrageID) { NeueFrage(); } } RefreshDGFragen(); }
private void RefreshDGFragen() { SqlParameter pRUmfrageID = DataAccessFragen.Paramr_UmfrageID; pRUmfrageID.Value = SessionContainer.ReadFromSession(this).Umfrage.UmfrageID; DataParameters paramsFragen = new DataParameters(); paramsFragen.Add(pRUmfrageID); DataAccessFragen daFragen = new DataAccessFragen(); DSFragen dsFragen = daFragen.Select(paramsFragen); m_dgFragen.DataSource = dsFragen.fragen; m_dgFragen.DataBind(); m_tblFragen.Visible = (dsFragen.fragen.Rows.Count > 0); }
private void LoadFrage(int id) { // ID der zu bearbeitenden Frage speichern FrageID = id; // Frage neu aus der DB ziehen DSFragen dsFragen = new DataAccessFragen().GetFrageByID(id); if (dsFragen.fragen.Count != 1) { ClearFrage(); NeueFrage(); return; } // den Fragetitel eintragen m_txtFrageTitel.Text = dsFragen.fragen[0].Text; m_pnFrageErstellen.Visible = true; m_pnFrageUebernehmen.Visible = true; // Antwortmöglichkeiten vorsichtshalber ausblenden m_tblAntwortmoeglErstellen.Visible = false; // bei Und- und Oderfragen auch die Antwortmöglichkeiten eintragen int frageart = dsFragen.fragen[0].Frageart; if (frageart != DBConstants.TextFrage) { FillDGAntwErstellen(id); m_tblAntwortmoeglErstellen.Visible = true; } // Radiobutton entsprechend der Frageart setzen m_rdbTextfrage.Checked = false; m_rdbUndFrage.Checked = false; m_rdbOderFrage.Checked = false; switch(frageart) { case DBConstants.TextFrage: m_rdbTextfrage.Checked = true; break; case DBConstants.UndFrage: m_rdbUndFrage.Checked = true; break; case DBConstants.OderFrage: m_rdbOderFrage.Checked = true; break; } // neue Frage-Link anzeigen m_pnNeueFrage.Visible = true; }