private void FillDGAntwErstellen(int FrageID) { // vorhandene Antwortmöglichkeiten zu der Frage mit der Id FrageID aus der DB ziehen SqlParameter pR_FrageID = DataAccessAwmoeglichkeiten.Paramr_FrageID; pR_FrageID.Value = FrageID; DataParameters parameters = new DataParameters(); parameters.Add(pR_FrageID); DataAccessAwmoeglichkeiten daAwMoegl = new DataAccessAwmoeglichkeiten(); DSAwmoeglichkeiten dsAwMoegl = daAwMoegl.Select(parameters); if (dsAwMoegl.awmoeglichkeiten.Count > 0) { // Entsprechende Anzahl von Editfeldern im DataGrid anlegen (+ 4 neue) PrepareDGAntwErstellen(dsAwMoegl.awmoeglichkeiten.Count + 4); // Daten in die Editfelder eintragen for (int i = 0; i < dsAwMoegl.awmoeglichkeiten.Count; i++) { TextBox txtbx = (TextBox)DataGridAccess.GetControlFromDataGrid(m_dgAntwErstellen.Items[i], typeof(TextBox), 1, 0); if (txtbx != null) { // Antworttext in das Editfeld dieser Zeile eintragen txtbx.Text = dsAwMoegl.awmoeglichkeiten[i].Text; // AntwortMögl.-ID in die gleiche Zeile eintragen m_dgAntwErstellen.Items[i].Cells[0].Text = dsAwMoegl.awmoeglichkeiten[i].AwmID.ToString(); } } } else { PrepareDGAntwErstellen(6); } }
private void SaveAntworten() { TextBox txt = null; DataAccessAwmoeglichkeiten daAntw = new DataAccessAwmoeglichkeiten(); DSAwmoeglichkeiten dsAntw = new DSAwmoeglichkeiten(); for (int i = 0; i < m_dgAntwErstellen.Items.Count; i++) { dsAntw.Clear(); int id = Convert.ToInt32(m_dgAntwErstellen.Items[i].Cells[0].Text); txt = (TextBox)DataGridAccess.GetControlFromDataGrid(m_dgAntwErstellen.Items[i], typeof(TextBox), 1, 0); if (txt == null) { continue; } if (txt.Text.Trim() == "") { // wenn ein leeres Textfeld eine gültige ID hat, wird der Datensatz gelöscht if (id != DBConstants.NotValid) { daAntw.DeleteAntwortmoegl(id); } continue; } else { dsAntw = daAntw.GetAntwortmoeglByID(id); if (dsAntw.awmoeglichkeiten.Count == 0) { // neuen Datensatz anlegen dsAntw.awmoeglichkeiten.AddawmoeglichkeitenRow(FrageID, txt.Text.Trim()); } else if (dsAntw.awmoeglichkeiten.Count == 1) { // Datensatz aktualisieren dsAntw.awmoeglichkeiten[0].Text = txt.Text.Trim(); } } daAntw.CommitChanges(dsAntw); // ID des Datensatzes in Datagrid eintragen m_dgAntwErstellen.Items[i].Cells[0].Text = dsAntw.awmoeglichkeiten[0].AwmID.ToString(); } // Datagrid aktualisieren FillDGAntwErstellen(FrageID); }
private void PutAntworten(DataGridItem item, int frageID, int frageart) { // Antwortmöglichkeiten aus der DB ziehen SqlParameter pFrageID = DataAccessAwmoeglichkeiten.Paramr_FrageID; pFrageID.Value = frageID; DataParameters parameters = new DataParameters(); parameters.Add(pFrageID); DSAwmoeglichkeiten dsAntw = new DataAccessAwmoeglichkeiten().Select(parameters); switch (frageart) { case DBConstants.TextFrage: TextBox txt = (TextBox)DataGridAccess.GetControlFromDataGrid(item, typeof(TextBox), 1, 0); if (txt != null) { txt.Visible = true; } break; case DBConstants.UndFrage: CheckBoxList chbl = (CheckBoxList)DataGridAccess.GetControlFromDataGrid(item, typeof(CheckBoxList), 1, 0); if (chbl != null) { chbl.Visible = true; chbl.DataTextField = dsAntw.awmoeglichkeiten.Columns["Text"].ToString(); chbl.DataSource = dsAntw.awmoeglichkeiten; chbl.DataBind(); } break; case DBConstants.OderFrage: DropDownList ddl = (DropDownList)DataGridAccess.GetControlFromDataGrid(item, typeof(DropDownList), 1, 0); if (ddl != null) { ddl.Visible = true; ddl.DataSource = dsAntw.awmoeglichkeiten; ddl.DataTextField = dsAntw.awmoeglichkeiten.Columns["Text"].ToString(); ddl.DataBind(); } break; } }