Ich versuche, Setup-Daten aus einer Tabelle zu verwenden, um Felder dynamisch/dynamisch zu formatieren. Ich weiß, dass ich Feldnamen und Sichtbarkeit basierend auf der PXUIFieldAttribute-Klasse ändern kann, aber die Genauigkeit oder String-Länge zu ändern, ist offensichtlich etwas kniffliger. Von der Forschung, die ich getan habe, habe ich den folgenden Beispielcode gefunden, der scheint, als sollte es funktionieren - aber ich erhalte den Fehler:Stringlänge oder Dezimalgenauigkeit des Feldattributs dynamisch ändern
"Darf das Objekt vom Typ 'PX.Data.PXUIFieldAttribute' nicht umwandeln Typ ‚PX.Data.PXDBDecimalAttribute‘.
ich sehe nicht, warum dies auftritt ...
protected virtual void xTACOpenSourceDetail_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
{
var osd = (PXCache)sender;
foreach (PXDBDecimalAttribute attribute in this.Caches<xTACOpenSourceDetail>().GetAttributes("Number1"))
{
PXDBDecimalAttribute someAttribute = attribute as PXDBDecimalAttribute;
if (someAttribute != null)
{
someAttribute.DBProperties._precision = 4;
}
}
}
Abgesehen von der Notwendigkeit, PXDecimalAttribute zu PXDBDecimalAttribute zu ändern - das hat den Trick - danke! – pmfith
ja, entschuldigung. Ich habe es nur versucht. – Hybridzz