Ich habe mit LL26 ein Problem mit den ProgressBar in einer Tabelle. LL23 konnte diese noch darstellen. Problem ist beim Typ “System.TimeSpan”. Mit Integer funktioniert es.
Umgebung:
.Net Framework 4.7.2 mit C#
LL29.SP4 + C202111050001
Code:
Ich erzeuge eine Tabelle mit zwei Spalten
var column = new DataColumn();
column.DataType = Type.GetType(“System.TimeSpan”);
column.ColumnName = “Duration”;
column.ReadOnly = true;
column.Unique = false;
table.Columns.Add(column);
column = new DataColumn();
column.DataType = Type.GetType(“System.TimeSpan”);
column.ColumnName = “MaxDuration”;
column.ReadOnly = true;
column.Unique = false;
table.Columns.Add(column);
In die Tabelle fülle ich Daten ab (hier nur Dummy code):
row[“Duration”] = TimeSpan.FromSeconds(900);
row[“MaxDuration”] = TimeSpan.FromSeconds(1800);
Vorlage:
Tabelle mit einer Spalte “Data.Graphic”:
In den Properties von Data weise ich die beiden Felder zu.
• MinimumValue = 0
• MaximumValue = “Table.MaxDuration”
• Value = “Table.Duration”
Ergebnis: Der Balken wird nicht angezeigt.
So ich genau die gleichen Einstellungen aber Integer verwende, funktioniert es:
• MinimumValue = 0
• MaximumValue = 100
• Value = 50
Es gibt einen Workaround: Integer Spalte und den Progress im Code berechnen:
var column = new DataColumn();
column.DataType = Type.GetType(“System.Int32”);
column.ColumnName = “DurationPrz”;
column.ReadOnly = true;
column.Unique = false;
table.Columns.Add(column);
row[“DurationPrz”] = (int)Math.Round(100.0 / x * y);
Auf diese Weise bekomme ich einen Balken
Es scheint wie LL26 mit “System.Timespan” ein Problem hat.