Thomas Bandt

Über mich | Kontakt | Archiv

[ASP.NET 2.0] CurrentMode des FormView-Controls programmatisch setzen.

GridView und FormView eigenen sich hervorragend dazu, schnell und einfach Daten nicht nur darzustellen, sondern auch editier- und pflegbar zu machen. Man kann damit mit wenig Aufwand eine komplette Datenbanktabelle editierbar machen.

Etwas unpraktisch ist hingegen, dass sich das Hinzufügen eines neuen Datensatzes sinnigerweise nur über das FormView-Control und den entsprechenden Linkbutton erreichen lässt. Es ist nicht unpraktisch das mit dem Formview zu lösen, aber in den meisten Fällen muss erst ein Datensatz in der Gridview ausgewählt sein, um einen neuen hinzufügen zu können.

Für den Fall sollte man auch "von außen" den Modus des Formview auf Insert setzen können, und zwar so:

protected void LinkButton4_Click(object sender, EventArgs e)
{
   ShowGrid.Visible = false;
   ShowDetails.Visible = true;
   FormView1.ChangeMode(FormViewMode.Insert);
}

Kleiner Stolperstein: die Eigenschaft CurrentMode ist readonly. Ich hatte schon befürchtet ein eigenes Control ableiten zu müssen (wie beim Gridview mit der PageSize-Eigenschaft ...), aber es gibt wie zu sehen ist die Methode ChangeMode. Hier hat also jemand mitgedacht.



« Zurück  |  Weiter »