SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Custom Field Type

Geprüfte Antwort Dieser Beitrag hat 2 Antworten

Ohne Rang
186 Beiträge
Benjamin Aicheler erstellt 14 Jan. 2010 10:25
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen,

ich habe einen Custom Field Type entwickelt, der basierend auf dem Content Type einen fortlaufenden Schlüssel beim Anlegen eines neuen Elements vorbelegt.

Einfaches beispiel letztes Element hat IT0005, wenn nun ein neues Element angelegt wird, ist IT0006 in der NewForm vorbelegt.

Das ganze wird analog zu einem gefundenen Beispiel in der CreateChildControls() gemacht.

 

Nun möchte man aber auch den Content Type ändern können. Dabei muss natürlich der aktuelle Schlüssel geändert werden. Aus IT0006 muss dann z.B. VE0009 werden, bzw. der nächstgrößere des neuen Content Types eben.

Ich möchte das nicht unbedingt in einem Event Receiver machen, sonder auch im Field Type, damit der neue Wert sofort beim ändern des Content Types in das Feld in der EditForm eingetragen wird und vor dem Klick auf OK für mich sichtbar ist.

Meine Frage ist also, in welcher Methode kann ich das am besten machen? Leider geht das nicht in der CreateChildControls(), da dann der Wert sofort wieder mit den aktuellen Daten überschrieben wird (Content Type ändern gibt ja ein Postback, dabei wir dann zunächst CreateChildControls() ausgeführt und danach die Daten neu geladen). Ich suche also eine Methode oder ein Event wie das Laden der Daten oder danach.

Mein Ansatz ist derzeit die UpdateFieldValueInItem() zu überschreiben. Diese wird beim Klick auf OK aufgerufen, und somit kann ich ihm hier die neuen Daten unterschieben bevor ich base.UpdateFieldValueInItem()  aufrufe. Das bedeutet aber, ich bekomme den neuen Wert garnicht zu gesicht, sondern er wird ja erst beim sichern generiert. Ich bin also im Prinzip gleichweit, wie wenn ich einen Event Receiver geschrieben hätte.

Hat jemand eine Idee?

 

Danke.

Benjamin

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 14 Jan. 2010 11:01
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Solche Dinge gehören in OnPreRender.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
186 Beiträge
Benjamin Aicheler Als Antwort am 14 Jan. 2010 13:25
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Andi,

genau das wars was ich gesucht hatte.

Danke.

Benjamin