none
Dropdownliste verschwindet auf der Seite RRS feed

  • Frage

  • Hi,

    habe folgendes Problem: Ich habe ein Gridview, das ich zur Laufzeit in "gridActionData_RowDataBound" manipuliere. Ich erstelle in jeder Zelle eine Dropdownliste, die ich der Zelle hinzufüge. Wenn ich pro zelle das mache, so erscheinen auf der Website auch die Elemente. Alles sauber.

    Wenn ich nun aber mir 1 ! Dropdownbox unter der ersten "Datarow"-Zeile erzeuge und diese Element mit den vorhanden Daten und eigenschaften einfach nur nehme, und es an das neue Object jeder Zelle hänge, sind zwar im Debugmode zu erkenne, alle Eigenschaften vorhanden, doch nach der Generierung fehlen ALLE Dropdownboxen auf der Seite.

    Warum?

    public partial class Action : System.Web.UI.Page
    {
        private DropDownList ddlpl;
        private DropDownList ddlplClone;
    ...
    listPlanningType = new Dictionary<string, string>();
    dictPlanningTypeColor = new OrderedDictionary();
    foreach (DataRow row in dtPlanningType.Rows)
    {
        listPlanningType.Add(row[0].ToString(), Server.HtmlDecode(row[1].ToString()));
        dictPlanningTypeColor.Add(row[0].ToString(), row[2].ToString());
    }

    protected void gridActionData_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { rowIndex = e.Row.RowIndex; if (rowIndex == 0) { ddlpl = new DropDownList(); ddlpl.DataTextField = "Value"; ddlpl.DataValueField = "Key"; ddlpl.DataSource = listPlanningType; ddlpl.DataBind(); } for (int colIdx = 15; colIdx <= e.Row.Cells.Count - 1; colIdx++) { e.Row.Cells[colIdx].Text = ""; ddlplClone = new DropDownList(); --> ddlplClone = ddlpl; ==> //ddlpl.DataTextField = "Value"; ==> //ddlpl.DataValueField = "Key"; ==> //ddlpl.DataSource = listPlanningType; ==> //ddlpl.DataBind();

    ddlplClone.ID = "ID-" + rowIndex.ToString() + "-" + colIdx.ToString(); e.Row.Cells[colIdx].Controls.Add(ddlplClone); } } }

    Wenn ich die Zeilen mit "==>" aktiviere und die Zeile "-->" deaktiviere dann geht es, umgekehrt nicht.  Das Object "ddlpl" ist in der gesamten Zeit des Debuggings sauber vorhanden, aber auf der Seite nache ist NICHTS mehr zu sehen.



    Gruß Hipp

    Freitag, 15. Juli 2016 09:04

Antworten

  • Hat sich erledigt. Waren zu viele DropdownBoxen (> 30.000). Erzueg jetzt nur noch die, die ich wirklich benötige und dann zur Laufzeit per jQuery.


    Gruß Hipp

    • Als Antwort markiert Hipp1010 Mittwoch, 27. Juli 2016 08:13
    Mittwoch, 27. Juli 2016 08:12