private static SortableBindingList <VerifiedDatasetItem> GetVerifiedDatasetItems( [NotNull] QualityVerification qualityVerification, [NotNull] Predicate <QualityConditionVerification> includeConditionVerification, out double maximumTime) { var result = new SortableBindingList <VerifiedDatasetItem>(); maximumTime = 0; foreach ( QualityConditionVerification conditionVerification in qualityVerification.ConditionVerifications) { if (!includeConditionVerification(conditionVerification)) { continue; } var datasets = new SimpleSet <Dataset>(); QualityCondition condition = conditionVerification.DisplayableCondition; foreach (Dataset dataset in condition.GetDatasetParameterValues()) { if (datasets.Contains(dataset)) { continue; } datasets.Add(dataset); VerifiedDatasetItem item = CreateVerifiedDatasetItem( qualityVerification, dataset, conditionVerification); if (item.TotalTime > maximumTime) { maximumTime = item.TotalTime; } result.Add(item); } } return(result); }
protected override void Paint( Graphics graphics, Rectangle clipBounds, Rectangle cellBounds, int rowIndex, DataGridViewElementStates cellState, object value, object formattedValue, string errorText, DataGridViewCellStyle cellStyle, DataGridViewAdvancedBorderStyle advancedBorderStyle, DataGridViewPaintParts paintParts) { DataGridViewTimeColumn column = null; VerifiedDatasetItem item = null; if (DataGridView != null) { column = DataGridView.Columns[ColumnIndex] as DataGridViewTimeColumn; item = DataGridView.Rows[rowIndex].DataBoundItem as VerifiedDatasetItem; } using (Brush brush = new SolidBrush(cellStyle.BackColor)) { graphics.FillRectangle(brush, cellBounds); } if (column == null || item == null) { return; } if (column.MaximumTime <= 0) { return; } double startTime = 0; double factor = (cellBounds.Width - column._margin - column._margin) / column.MaximumTime; startTime = Draw(cellBounds.Top + 2, cellBounds.Height - 4, column._margin + cellBounds.Left, startTime, item.DataLoadTime, graphics, column._loadColor, factor); Draw(cellBounds.Top + 2, cellBounds.Height - 4, column._margin + cellBounds.Left, startTime, item.ExecuteTime, graphics, column._execColor, factor); }