Print-Renderer wurden als Renderer-Typ entfernt. Das Rendern für den Druck-Modus übernimmt nun ebenfalls der Standard-Renderer für das jeweilige Steuerelement.
Standard-Renderer implementieren je nach Basisklasse die Standard Print() Methode als Umleitung auf die Render() oder ReadMode() Methode. Diese kann von eigenen Renderern überschrieben werden.

Die anzuwendenden Regeln bei der Migration der Renderer entsprechen denen im Bereich des Lesemodus.

Beispiel

6.0: HTMLControlPrintRenderer.ReadMode()

public override void ReadMode(FormControlRendererParameterModel parameters)
{
	FormControlRendererPrintParameterModel parametersPrint = (FormControlRendererPrintParameterModel)parameters;
	ViewableControlBase control = (ViewableControlBase)parameters.Control;
	FormRenderingContextPrint renderingContext = (FormRenderingContextPrint)parametersPrint.RenderingContext;

	String text = parametersPrint.BindData as String;

	if (!String.IsNullOrEmpty(text))
	{
		List<StringPairModel> replaceList = ConfigurationHelper.CidStorageToEditor(text);

		foreach (StringPairModel stringPair in replaceList)
			text = text.Replace(stringPair.String1, stringPair.String2);
	}

	StaticLabelControl htmlStaticPrint = new StaticLabelControl
	{
		Id = Guid.NewGuid(),
		Caption = control.Caption,
		EncodeHtml = false,
		LabelPosition = control.LabelPosition,
		LabelText = text?.ToString(),
		Visible = control.Visible
	};

	if (HttpContext.Current.Request.Browser.Type.Contains("Firefox"))
	{
		htmlStaticPrint.Width = 600;
		htmlStaticPrint.WidthType = EnumWidthType.Pixel;
	}

	parametersPrint.PrintControls.Add(htmlStaticPrint);
}

Wurde überführt in den HTMLControlDefaultRenderer in 7.0:

public override void Print()
{
	HTMLControl control = (HTMLControl)RenderParameters.Control;

	object val = GetValueFromModel();
	string text = (string)ConvertFromModelPropertyType(val) ?? "";

	Guid oid = Guid.Empty;
	string appendUrl = null;
	if (RenderParameters.BindData is OrmBase ormBind)
		appendUrl = $"parent={ormBind.Oid}";
	else if (RenderParameters.BindData is ApplicationConfiguration appConfig)
		appendUrl = $"parent={appConfig.Id}";

	if (!RenderParameters.RenderingContext.FormModel.RecordCacheId.IsNullOrDefault())
		appendUrl += $"&recordCacheId={RenderParameters.RenderingContext.FormModel.RecordCacheId}";

	Api.Html.ConvertInlineAttachmentsToDownloadUrl(text, appendUrl);

	RenderAsStaticLabel(text, (staticLabelControl) => staticLabelControl.EncodeHtml = false);
}