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);
        }
示例#3
0
        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;
            }
        }