|
|
@@ -0,0 +1,644 @@
|
|
|
+using DevExpress.Data;
|
|
|
+using DevExpress.Utils;
|
|
|
+using DevExpress.Web;
|
|
|
+using DevExpress.Web.ASPxThemes;
|
|
|
+using DevExpress.Web.Mvc;
|
|
|
+using GreenTree.Nachtragsmanagement.Core.Authentication;
|
|
|
+using System;
|
|
|
+using System.Web.UI;
|
|
|
+using System.Web.UI.WebControls;
|
|
|
+
|
|
|
+namespace GreenTree.Nachtragsmanagement.Web.Extensions
|
|
|
+{
|
|
|
+ public static class GridViewSettingsHelper
|
|
|
+ {
|
|
|
+ /// <summary>
|
|
|
+ /// Current user context
|
|
|
+ /// </summary>
|
|
|
+ public static UserContext _userContext = Core.CommonHelper.UserContext();
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Creates GridViewSettings for the site gridView
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="html">Current HtmlHelper context.</param>
|
|
|
+ public static GridViewSettings SiteGridViewSettings(this System.Web.Mvc.HtmlHelper html)
|
|
|
+ {
|
|
|
+ var s = new GridViewSettings();
|
|
|
+
|
|
|
+ s.Name = "devGridViewSite";
|
|
|
+ s.KeyFieldName = "Id";
|
|
|
+ s.CallbackRouteValues = new { Controller = "Site", Action = "PartialSites" };
|
|
|
+ s.Width = Unit.Percentage(100);
|
|
|
+ s.Settings.ShowFilterRow = true;
|
|
|
+ s.Settings.ShowFilterRowMenu = true;
|
|
|
+ s.Settings.ShowFooter = true;
|
|
|
+ s.Settings.ShowGroupPanel = true;
|
|
|
+ s.Settings.AutoFilterCondition = AutoFilterCondition.Contains;
|
|
|
+ s.Settings.VerticalScrollBarMode = ScrollBarMode.Auto;
|
|
|
+ s.Settings.VerticalScrollableHeight =
|
|
|
+ (html.ViewData["ScrollHeight"] == null || (int)html.ViewData["ScrollHeight"] == -1)
|
|
|
+ ? 400
|
|
|
+ : (int)html.ViewData["ScrollHeight"];
|
|
|
+ s.SettingsExport.Landscape = true;
|
|
|
+ s.SettingsExport.FileName = "Baustellenliste";
|
|
|
+ s.SettingsPopup.CustomizationWindow.Width = new Unit(250, UnitType.Pixel);
|
|
|
+ s.SettingsPopup.CustomizationWindow.Height = new Unit(350, UnitType.Pixel);
|
|
|
+ s.SettingsBehavior.EnableCustomizationWindow = true;
|
|
|
+
|
|
|
+ s.Toolbars.Add(t =>
|
|
|
+ {
|
|
|
+ var refreshItem = t.Items.Add(GridViewToolbarCommand.Refresh);
|
|
|
+ refreshItem.Text = "Aktualisieren";
|
|
|
+ var expandItem = t.Items.Add(GridViewToolbarCommand.FullExpand);
|
|
|
+ expandItem.Text = "Alle aufklappen";
|
|
|
+ var collapseItem = t.Items.Add(GridViewToolbarCommand.FullCollapse);
|
|
|
+ collapseItem.Text = "Alle einklappen";
|
|
|
+ var filterItem = t.Items.Add(GridViewToolbarCommand.ClearFilter);
|
|
|
+ filterItem.Text = "Filter entfernen";
|
|
|
+ t.Items.Add(i =>
|
|
|
+ {
|
|
|
+ i.Text = "Spalten anzeigen / ausblenden";
|
|
|
+ i.Name = "ToggleColumnChooser";
|
|
|
+ i.Image.IconID = IconID.OtherViewgridlines16x16gray;
|
|
|
+ i.BeginGroup = true;
|
|
|
+ });
|
|
|
+ t.Items.Add(i =>
|
|
|
+ {
|
|
|
+ i.Text = "Exportieren nach";
|
|
|
+ i.Image.IconID = IconID.ActionsDownload16x16office2013;
|
|
|
+ i.BeginGroup = true;
|
|
|
+ i.Items.Add(exportitem =>
|
|
|
+ {
|
|
|
+ exportitem.Name = "Pdf";
|
|
|
+ exportitem.Text = "PDF";
|
|
|
+ exportitem.Image.IconID = IconID.ExportExporttopdf16x16office2013;
|
|
|
+ });
|
|
|
+ i.Items.Add(exportitem =>
|
|
|
+ {
|
|
|
+ exportitem.Name = "Xlsx";
|
|
|
+ exportitem.Text = "XLSX";
|
|
|
+ exportitem.Image.IconID = IconID.ExportExporttoxlsx16x16office2013;
|
|
|
+ });
|
|
|
+ i.Items.Add(exportitem =>
|
|
|
+ {
|
|
|
+ exportitem.Name = "Xls";
|
|
|
+ exportitem.Text = "XLS";
|
|
|
+ exportitem.Image.IconID = IconID.ExportExporttoxls16x16office2013;
|
|
|
+ });
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ if (_userContext.CurrentUser.HasFunction("Site-Sites-Edit"))
|
|
|
+ {
|
|
|
+ s.Columns.Add(column =>
|
|
|
+ {
|
|
|
+ column.Caption = "#";
|
|
|
+ column.SetDataItemTemplateContent(c =>
|
|
|
+ {
|
|
|
+ html.ViewContext.Writer.Write(
|
|
|
+ "<a href=\"#\" onclick=\"editSite(" + DataBinder.Eval(c.DataItem, "Id") + ")\">Bearbeiten</a> " +
|
|
|
+ "<a href=\"#\" onclick=\"confirmDelete(" + DataBinder.Eval(c.DataItem, "Id") + ")\">Löschen</a>"
|
|
|
+ );
|
|
|
+ });
|
|
|
+ column.SetHeaderTemplateContent(c =>
|
|
|
+ {
|
|
|
+ html.ViewContext.Writer.Write(
|
|
|
+ "<a href=\"#\" onclick=\"editSite(-1)\">Neu</a> ");
|
|
|
+ });
|
|
|
+ column.Settings.AllowDragDrop = DefaultBoolean.False;
|
|
|
+ column.Settings.AllowSort = DefaultBoolean.False;
|
|
|
+ column.Width = new Unit(150, UnitType.Pixel);
|
|
|
+ });
|
|
|
+ }
|
|
|
+ s.Columns.Add(column =>
|
|
|
+ {
|
|
|
+ column.Caption = "Kostenstelle";
|
|
|
+ column.FieldName = "CustomNumber";
|
|
|
+ column.MinWidth = 100;
|
|
|
+ column.Width = new Unit(10, UnitType.Percentage);
|
|
|
+ });
|
|
|
+ s.Columns.Add(column =>
|
|
|
+ {
|
|
|
+ column.Caption = "Bauvorhaben";
|
|
|
+ column.FieldName = "Description";
|
|
|
+ column.Width = new Unit(13, UnitType.Percentage);
|
|
|
+ });
|
|
|
+ s.Columns.Add(column =>
|
|
|
+ {
|
|
|
+ column.Caption = "Start";
|
|
|
+ column.FieldName = "Start";
|
|
|
+ column.PropertiesEdit.DisplayFormatString = "dd.MM.yyyy";
|
|
|
+ column.MinWidth = 110;
|
|
|
+ column.Width = new Unit(8, UnitType.Percentage);
|
|
|
+ });
|
|
|
+ s.Columns.Add(column =>
|
|
|
+ {
|
|
|
+ column.Caption = "Ende";
|
|
|
+ column.FieldName = "End";
|
|
|
+ column.PropertiesEdit.DisplayFormatString = "dd.MM.yyyy";
|
|
|
+ column.MinWidth = 110;
|
|
|
+ column.Width = new Unit(8, UnitType.Percentage);
|
|
|
+ });
|
|
|
+ s.Columns.Add(column =>
|
|
|
+ {
|
|
|
+ column.Caption = "VA";
|
|
|
+ column.FieldName = "DeviationDescription";
|
|
|
+ column.MinWidth = 150;
|
|
|
+ column.Width = new Unit(12, UnitType.Percentage);
|
|
|
+ });
|
|
|
+ s.Columns.Add(column =>
|
|
|
+ {
|
|
|
+ column.Caption = "VA-Summe";
|
|
|
+ column.FieldName = "DeviationValue";
|
|
|
+ column.PropertiesEdit.DisplayFormatString = "c2";
|
|
|
+ column.MinWidth = 120;
|
|
|
+ column.Width = new Unit(10, UnitType.Percentage);
|
|
|
+ });
|
|
|
+ s.Columns.Add(column =>
|
|
|
+ {
|
|
|
+ column.Caption = "Nachträge";
|
|
|
+ column.FieldName = "AppendixDescription";
|
|
|
+ column.Width = new Unit(10, UnitType.Percentage);
|
|
|
+ });
|
|
|
+ s.Columns.Add(column =>
|
|
|
+ {
|
|
|
+ column.Caption = "Mitarbeiter";
|
|
|
+ column.FieldName = "UserDescription";
|
|
|
+ column.MinWidth = 150;
|
|
|
+ column.Width = new Unit(20, UnitType.Percentage);
|
|
|
+ });
|
|
|
+
|
|
|
+ s.TotalSummary.Add(DevExpress.Data.SummaryItemType.Sum, "DeviationValue");
|
|
|
+ s.GroupSummary.Add(DevExpress.Data.SummaryItemType.Sum, "DeviationValue");
|
|
|
+
|
|
|
+ s.ClientLayout = (sender, e) =>
|
|
|
+ {
|
|
|
+ if (e.LayoutMode == ClientLayoutMode.Loading)
|
|
|
+ {
|
|
|
+ if (System.Web.HttpContext.Current.Session["SiteGridState"] != null)
|
|
|
+ e.LayoutData = (string)System.Web.HttpContext.Current.Session["SiteGridState"];
|
|
|
+ }
|
|
|
+ else
|
|
|
+ System.Web.HttpContext.Current.Session["SiteGridState"] = e.LayoutData;
|
|
|
+ };
|
|
|
+ s.ClientSideEvents.BeginCallback = "function (s, e) { e.customArgs['scrollHeight'] = [ gridScrollHeight ]; }";
|
|
|
+ s.ClientSideEvents.ToolbarItemClick = "function (s, e) { onToolbarItemClick(s, e); }";
|
|
|
+
|
|
|
+ s.Styles.AlternatingRow.BackColor = System.Drawing.Color.FromArgb(247, 247, 247);
|
|
|
+
|
|
|
+ return s;
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Creates GridViewSettings for the deviation gridView
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="html">Current HtmlHelper context.</param>
|
|
|
+ public static GridViewSettings DeviationGridViewSettings(this System.Web.Mvc.HtmlHelper html)
|
|
|
+ {
|
|
|
+ var s = new GridViewSettings();
|
|
|
+
|
|
|
+ s.Name = "devGridViewDeviation";
|
|
|
+ s.KeyFieldName = "Id";
|
|
|
+ s.CallbackRouteValues = new { Controller = "Deviation", Action = "PartialDeviations" };
|
|
|
+ s.Width = Unit.Percentage(100);
|
|
|
+ s.Settings.ShowFilterRow = true;
|
|
|
+ s.Settings.ShowFilterRowMenu = true;
|
|
|
+ s.Settings.ShowFooter = true;
|
|
|
+ s.Settings.ShowGroupPanel = true;
|
|
|
+ s.Settings.AutoFilterCondition = AutoFilterCondition.Contains;
|
|
|
+ s.Settings.VerticalScrollBarMode = ScrollBarMode.Auto;
|
|
|
+ s.Settings.VerticalScrollableHeight =
|
|
|
+ (html.ViewData["ScrollHeight"] == null || (int)html.ViewData["ScrollHeight"] == -1)
|
|
|
+ ? 400
|
|
|
+ : (int)html.ViewData["ScrollHeight"];
|
|
|
+ s.SettingsExport.Landscape = true;
|
|
|
+ s.SettingsExport.FileName = "Vertragsabweichungsliste";
|
|
|
+ s.SettingsBehavior.EnableCustomizationWindow = true;
|
|
|
+ s.SettingsPopup.CustomizationWindow.Width = new Unit(250, UnitType.Pixel);
|
|
|
+ s.SettingsPopup.CustomizationWindow.Height = new Unit(350, UnitType.Pixel);
|
|
|
+
|
|
|
+ s.Toolbars.Add(t =>
|
|
|
+ {
|
|
|
+ var refreshItem = t.Items.Add(GridViewToolbarCommand.Refresh);
|
|
|
+ refreshItem.Text = "Aktualisieren";
|
|
|
+ var expandItem = t.Items.Add(GridViewToolbarCommand.FullExpand);
|
|
|
+ expandItem.Text = "Alle aufklappen";
|
|
|
+ var collapseItem = t.Items.Add(GridViewToolbarCommand.FullCollapse);
|
|
|
+ collapseItem.Text = "Alle einklappen";
|
|
|
+ var filterItem = t.Items.Add(GridViewToolbarCommand.ClearFilter);
|
|
|
+ filterItem.Text = "Filter entfernen";
|
|
|
+ t.Items.Add(i =>
|
|
|
+ {
|
|
|
+ i.Text = "Spalten anzeigen / ausblenden";
|
|
|
+ i.Name = "ToggleColumnChooser";
|
|
|
+ i.Image.IconID = IconID.OtherViewgridlines16x16gray;
|
|
|
+ i.BeginGroup = true;
|
|
|
+ });
|
|
|
+ t.Items.Add(i =>
|
|
|
+ {
|
|
|
+ i.Text = "Exportieren nach";
|
|
|
+ i.Image.IconID = IconID.ActionsDownload16x16office2013;
|
|
|
+ i.BeginGroup = true;
|
|
|
+ i.Items.Add(exportitem =>
|
|
|
+ {
|
|
|
+ exportitem.Name = "Pdf";
|
|
|
+ exportitem.Text = "PDF";
|
|
|
+ exportitem.Image.IconID = IconID.ExportExporttopdf16x16office2013;
|
|
|
+ });
|
|
|
+ i.Items.Add(exportitem =>
|
|
|
+ {
|
|
|
+ exportitem.Name = "Xlsx";
|
|
|
+ exportitem.Text = "XLSX";
|
|
|
+ exportitem.Image.IconID = IconID.ExportExporttoxlsx16x16office2013;
|
|
|
+ });
|
|
|
+ i.Items.Add(exportitem =>
|
|
|
+ {
|
|
|
+ exportitem.Name = "Xls";
|
|
|
+ exportitem.Text = "XLS";
|
|
|
+ exportitem.Image.IconID = IconID.ExportExporttoxls16x16office2013;
|
|
|
+ });
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ s.Columns.Add(column =>
|
|
|
+ {
|
|
|
+ column.Caption = "Nummer";
|
|
|
+ column.FieldName = "CustomNumber";
|
|
|
+ column.MinWidth = 80;
|
|
|
+ column.Width = new Unit(8, UnitType.Percentage);
|
|
|
+ });
|
|
|
+ s.Columns.Add(column =>
|
|
|
+ {
|
|
|
+ column.Caption = "Bezeichnung";
|
|
|
+ column.FieldName = "Description";
|
|
|
+ column.MinWidth = 200;
|
|
|
+ column.Width = new Unit(14, UnitType.Percentage);
|
|
|
+ });
|
|
|
+ s.Columns.Add(column =>
|
|
|
+ {
|
|
|
+ column.Caption = "Baustelle";
|
|
|
+ column.FieldName = "SiteDescription";
|
|
|
+ column.MinWidth = 120;
|
|
|
+ column.Width = new Unit(10, UnitType.Percentage);
|
|
|
+ });
|
|
|
+ s.Columns.Add(column =>
|
|
|
+ {
|
|
|
+ column.Caption = "Nachtrag";
|
|
|
+ column.FieldName = "AppendixDescription";
|
|
|
+ column.MinWidth = 120;
|
|
|
+ column.Width = new Unit(10, UnitType.Percentage);
|
|
|
+ });
|
|
|
+ s.Columns.Add(column =>
|
|
|
+ {
|
|
|
+ column.Caption = "Einreichung";
|
|
|
+ column.FieldName = "ReceiptDate";
|
|
|
+ column.PropertiesEdit.DisplayFormatString = "dd.MM.yyyy";
|
|
|
+ column.MinWidth = 110;
|
|
|
+ column.Width = new Unit(8, UnitType.Percentage);
|
|
|
+ });
|
|
|
+ s.Columns.Add(column =>
|
|
|
+ {
|
|
|
+ column.Caption = "Tage VA - NT";
|
|
|
+ column.FieldName = "DaysReceiptToAppendixOffering";
|
|
|
+ column.MinWidth = 110;
|
|
|
+ column.Width = new Unit(8, UnitType.Percentage);
|
|
|
+ });
|
|
|
+ s.Columns.Add(column =>
|
|
|
+ {
|
|
|
+ column.Caption = "Schätzung bew.";
|
|
|
+ column.FieldName = "PercentageValue";
|
|
|
+ column.PropertiesEdit.DisplayFormatString = "c2";
|
|
|
+ column.MinWidth = 100;
|
|
|
+ column.Width = new Unit(9, UnitType.Percentage);
|
|
|
+ });
|
|
|
+ s.Columns.Add(column =>
|
|
|
+ {
|
|
|
+ column.Caption = "Status";
|
|
|
+ column.FieldName = "StatusDescription";
|
|
|
+ column.MinWidth = 160;
|
|
|
+ column.Width = new Unit(12, UnitType.Percentage);
|
|
|
+ });
|
|
|
+ s.Columns.Add(column =>
|
|
|
+ {
|
|
|
+ column.Caption = "VA-Kategorien";
|
|
|
+ column.FieldName = "DisturbanceValuesDescription";
|
|
|
+ column.MinWidth = 200;
|
|
|
+ column.Width = new Unit(14, UnitType.Percentage);
|
|
|
+ });
|
|
|
+ s.Columns.Add(column =>
|
|
|
+ {
|
|
|
+ column.Caption = "Art";
|
|
|
+ column.FieldName = "KindDescription";
|
|
|
+ column.MinWidth = 140;
|
|
|
+ column.Width = new Unit(10, UnitType.Percentage);
|
|
|
+ });
|
|
|
+ s.Columns.Add(column =>
|
|
|
+ {
|
|
|
+ column.Caption = "Kommentar";
|
|
|
+ column.CellStyle.Wrap = DefaultBoolean.True;
|
|
|
+ column.SetDataItemTemplateContent(c =>
|
|
|
+ {
|
|
|
+ var id = Convert.ToInt32(DataBinder.Eval(c.DataItem, "Id"));
|
|
|
+
|
|
|
+ var comment = DataBinder.Eval(c.DataItem, "Comment");
|
|
|
+ var text = comment == null
|
|
|
+ ? String.Empty
|
|
|
+ : comment.ToString();
|
|
|
+
|
|
|
+ if (text.ToString().Length > 40)
|
|
|
+ {
|
|
|
+ html.ViewContext.Writer.Write(text.Substring(0, 40) + " ...");
|
|
|
+ html.ViewContext.Writer.Write("<a href=\"#\" onclick='showComment(\"deviation\"," + id + ",this)'><br />Anzeigen</a>");
|
|
|
+ }
|
|
|
+ else
|
|
|
+ html.ViewContext.Writer.Write(text);
|
|
|
+ });
|
|
|
+ column.MinWidth = 120;
|
|
|
+ column.Width = new Unit(8, UnitType.Percentage);
|
|
|
+ column.Visible = false;
|
|
|
+ });
|
|
|
+
|
|
|
+ var totalDaysReceiptToAppendixOfferingSum = 0;
|
|
|
+ var totalDaysReceiptToAppendixOfferingCount = 0;
|
|
|
+
|
|
|
+ s.CustomSummaryCalculate = (sender, e) =>
|
|
|
+ {
|
|
|
+ if (e.SummaryProcess == CustomSummaryProcess.Start)
|
|
|
+ {
|
|
|
+ totalDaysReceiptToAppendixOfferingSum = 0;
|
|
|
+ totalDaysReceiptToAppendixOfferingCount = 0;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (e.SummaryProcess == CustomSummaryProcess.Calculate)
|
|
|
+ {
|
|
|
+ var val = e.GetValue("DaysReceiptToAppendixOffering");
|
|
|
+
|
|
|
+ if (val != null)
|
|
|
+ {
|
|
|
+ totalDaysReceiptToAppendixOfferingCount++;
|
|
|
+ totalDaysReceiptToAppendixOfferingSum += Convert.ToInt32(val);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (e.SummaryProcess == CustomSummaryProcess.Finalize)
|
|
|
+ e.TotalValue = totalDaysReceiptToAppendixOfferingSum / totalDaysReceiptToAppendixOfferingCount;
|
|
|
+ };
|
|
|
+
|
|
|
+ s.TotalSummary.Add(DevExpress.Data.SummaryItemType.Sum, "PercentageValue");
|
|
|
+ s.GroupSummary.Add(DevExpress.Data.SummaryItemType.Sum, "PercentageValue");
|
|
|
+
|
|
|
+ s.TotalSummary.Add(new ASPxSummaryItem
|
|
|
+ {
|
|
|
+ FieldName = "DaysReceiptToAppendixOffering",
|
|
|
+ SummaryType = DevExpress.Data.SummaryItemType.Custom,
|
|
|
+ DisplayFormat = "Schnitt = {0:n0}",
|
|
|
+
|
|
|
+ });
|
|
|
+ s.GroupSummary.Add(new ASPxSummaryItem
|
|
|
+ {
|
|
|
+ FieldName = "DaysReceiptToAppendixOffering",
|
|
|
+ SummaryType = DevExpress.Data.SummaryItemType.Custom,
|
|
|
+ DisplayFormat = "Schnitt = {0:n0}"
|
|
|
+ });
|
|
|
+
|
|
|
+ s.ClientLayout = (sender, e) =>
|
|
|
+ {
|
|
|
+ if (e.LayoutMode == ClientLayoutMode.Loading)
|
|
|
+ {
|
|
|
+ if (System.Web.HttpContext.Current.Session["DeviationGridState"] != null)
|
|
|
+ e.LayoutData = (string)System.Web.HttpContext.Current.Session["DeviationGridState"];
|
|
|
+ }
|
|
|
+ else
|
|
|
+ System.Web.HttpContext.Current.Session["DeviationGridState"] = e.LayoutData;
|
|
|
+ };
|
|
|
+ s.ClientSideEvents.BeginCallback = "function (s, e) { e.customArgs['scrollHeight'] = [ gridScrollHeight ]; }";
|
|
|
+ s.ClientSideEvents.ToolbarItemClick = "function (s, e) { onToolbarItemClick(s, e); }";
|
|
|
+
|
|
|
+ s.Styles.AlternatingRow.BackColor = System.Drawing.Color.FromArgb(247, 247, 247);
|
|
|
+
|
|
|
+ return s;
|
|
|
+ }
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// Creates GridViewSettings for the appendix gridView
|
|
|
+ /// </summary>
|
|
|
+ /// <param name="html">Current HtmlHelper context.</param>
|
|
|
+ public static GridViewSettings AppendixGridViewSettings(this System.Web.Mvc.HtmlHelper html)
|
|
|
+ {
|
|
|
+ var s = new GridViewSettings();
|
|
|
+
|
|
|
+ s.Name = "devGridViewAppendix";
|
|
|
+ s.KeyFieldName = "Id";
|
|
|
+ s.CallbackRouteValues = new { Controller = "Appendix", Action = "PartialAppendices" };
|
|
|
+ s.Width = Unit.Percentage(100);
|
|
|
+ s.Settings.ShowFilterRow = true;
|
|
|
+ s.Settings.ShowFilterRowMenu = true;
|
|
|
+ s.Settings.ShowFooter = true;
|
|
|
+ s.Settings.ShowGroupPanel = true;
|
|
|
+ s.Settings.AutoFilterCondition = AutoFilterCondition.Contains;
|
|
|
+ s.Settings.VerticalScrollBarMode = ScrollBarMode.Auto;
|
|
|
+ s.Settings.VerticalScrollableHeight =
|
|
|
+ (html.ViewData["ScrollHeight"] == null || (int)html.ViewData["ScrollHeight"] == -1)
|
|
|
+ ? 400
|
|
|
+ : (int)html.ViewData["ScrollHeight"];
|
|
|
+ s.SettingsExport.Landscape = true;
|
|
|
+ s.SettingsExport.FileName = "Nachtragsliste";
|
|
|
+ s.SettingsBehavior.EnableCustomizationWindow = true;
|
|
|
+ s.SettingsPopup.CustomizationWindow.Width = new Unit(250, UnitType.Pixel);
|
|
|
+ s.SettingsPopup.CustomizationWindow.Height = new Unit(350, UnitType.Pixel);
|
|
|
+
|
|
|
+ s.Toolbars.Add(t =>
|
|
|
+ {
|
|
|
+ var refreshItem = t.Items.Add(GridViewToolbarCommand.Refresh);
|
|
|
+ refreshItem.Text = "Aktualisieren";
|
|
|
+ var expandItem = t.Items.Add(GridViewToolbarCommand.FullExpand);
|
|
|
+ expandItem.Text = "Alle aufklappen";
|
|
|
+ var collapseItem = t.Items.Add(GridViewToolbarCommand.FullCollapse);
|
|
|
+ collapseItem.Text = "Alle einklappen";
|
|
|
+ var filterItem = t.Items.Add(GridViewToolbarCommand.ClearFilter);
|
|
|
+ filterItem.Text = "Filter entfernen";
|
|
|
+ t.Items.Add(i =>
|
|
|
+ {
|
|
|
+ i.Text = "Spalten anzeigen / ausblenden";
|
|
|
+ i.Name = "ToggleColumnChooser";
|
|
|
+ i.Image.IconID = IconID.OtherViewgridlines16x16gray;
|
|
|
+ i.BeginGroup = true;
|
|
|
+ });
|
|
|
+ t.Items.Add(i =>
|
|
|
+ {
|
|
|
+ i.Text = "Exportieren nach";
|
|
|
+ i.Image.IconID = IconID.ActionsDownload16x16office2013;
|
|
|
+ i.BeginGroup = true;
|
|
|
+ i.Items.Add(exportitem =>
|
|
|
+ {
|
|
|
+ exportitem.Name = "Pdf";
|
|
|
+ exportitem.Text = "PDF";
|
|
|
+ exportitem.Image.IconID = IconID.ExportExporttopdf16x16office2013;
|
|
|
+ });
|
|
|
+ i.Items.Add(exportitem =>
|
|
|
+ {
|
|
|
+ exportitem.Name = "Xlsx";
|
|
|
+ exportitem.Text = "XLSX";
|
|
|
+ exportitem.Image.IconID = IconID.ExportExporttoxlsx16x16office2013;
|
|
|
+ });
|
|
|
+ i.Items.Add(exportitem =>
|
|
|
+ {
|
|
|
+ exportitem.Name = "Xls";
|
|
|
+ exportitem.Text = "XLS";
|
|
|
+ exportitem.Image.IconID = IconID.ExportExporttoxls16x16office2013;
|
|
|
+ });
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ s.Columns.Add(column =>
|
|
|
+ {
|
|
|
+ column.Caption = "Nummer";
|
|
|
+ column.FieldName = "CustomNumber";
|
|
|
+ column.MinWidth = 80;
|
|
|
+ column.Width = new Unit(8, UnitType.Percentage);
|
|
|
+ });
|
|
|
+ s.Columns.Add(column =>
|
|
|
+ {
|
|
|
+ column.Caption = "Bezeichnung";
|
|
|
+ column.FieldName = "Description";
|
|
|
+ column.MinWidth = 200;
|
|
|
+ column.Width = new Unit(14, UnitType.Percentage);
|
|
|
+ });
|
|
|
+ s.Columns.Add(column =>
|
|
|
+ {
|
|
|
+ column.Caption = "Baustelle";
|
|
|
+ column.FieldName = "SiteDescription";
|
|
|
+ column.MinWidth = 120;
|
|
|
+ column.Width = new Unit(10, UnitType.Percentage);
|
|
|
+ });
|
|
|
+ s.Columns.Add(column =>
|
|
|
+ {
|
|
|
+ column.Caption = "Einreichung";
|
|
|
+ column.FieldName = "OfferingDate";
|
|
|
+ column.PropertiesEdit.DisplayFormatString = "dd.MM.yyyy";
|
|
|
+ column.MinWidth = 110;
|
|
|
+ column.Width = new Unit(8, UnitType.Percentage);
|
|
|
+ });
|
|
|
+ s.Columns.Add(column =>
|
|
|
+ {
|
|
|
+ column.Caption = "Angeb.-Sum.";
|
|
|
+ column.FieldName = "OfferingValue";
|
|
|
+ column.PropertiesEdit.DisplayFormatString = "c2";
|
|
|
+ column.MinWidth = 140;
|
|
|
+ column.Width = new Unit(8, UnitType.Percentage);
|
|
|
+ });
|
|
|
+ s.Columns.Add(column =>
|
|
|
+ {
|
|
|
+ column.Caption = "Verhand.-Sum.";
|
|
|
+ column.FieldName = "NegotiationValue";
|
|
|
+ column.PropertiesEdit.DisplayFormatString = "c2";
|
|
|
+ column.MinWidth = 140;
|
|
|
+ column.Width = new Unit(8, UnitType.Percentage);
|
|
|
+ });
|
|
|
+ s.Columns.Add(column =>
|
|
|
+ {
|
|
|
+ column.Caption = "Verh. Angeb./Verha.";
|
|
|
+ column.FieldName = "RelationOfferingToNegotiation";
|
|
|
+ column.PropertiesEdit.DisplayFormatString = "p2";
|
|
|
+ column.MinWidth = 140;
|
|
|
+ column.Width = new Unit(10, UnitType.Percentage);
|
|
|
+ });
|
|
|
+ s.Columns.Add(column =>
|
|
|
+ {
|
|
|
+ column.Caption = "VA";
|
|
|
+ column.FieldName = "DeviationDescription";
|
|
|
+ column.MinWidth = 100;
|
|
|
+ column.Width = new Unit(6, UnitType.Percentage);
|
|
|
+ });
|
|
|
+ s.Columns.Add(column =>
|
|
|
+ {
|
|
|
+ column.Caption = "Verh. Angeb./VA.";
|
|
|
+ column.FieldName = "RelationOfferingToDeviations";
|
|
|
+ column.PropertiesEdit.DisplayFormatString = "n2";
|
|
|
+ column.MinWidth = 140;
|
|
|
+ column.Width = new Unit(10, UnitType.Percentage);
|
|
|
+ });
|
|
|
+ s.Columns.Add(column =>
|
|
|
+ {
|
|
|
+ column.Caption = "Status";
|
|
|
+ column.FieldName = "StateDescription";
|
|
|
+ column.MinWidth = 100;
|
|
|
+ column.Width = new Unit(6, UnitType.Percentage);
|
|
|
+ });
|
|
|
+ s.Columns.Add(column =>
|
|
|
+ {
|
|
|
+ column.Caption = "NT-Kategorien";
|
|
|
+ column.FieldName = "CategoryValuesDescription";
|
|
|
+ column.MinWidth = 200;
|
|
|
+ column.Width = new Unit(12, UnitType.Percentage);
|
|
|
+ });
|
|
|
+ s.Columns.Add(column =>
|
|
|
+ {
|
|
|
+ column.Caption = "Kommentar";
|
|
|
+ column.CellStyle.Wrap = DefaultBoolean.True;
|
|
|
+ column.SetDataItemTemplateContent(c =>
|
|
|
+ {
|
|
|
+ var id = Convert.ToInt32(DataBinder.Eval(c.DataItem, "Id"));
|
|
|
+
|
|
|
+ var comment = DataBinder.Eval(c.DataItem, "Comment");
|
|
|
+ var text = comment == null
|
|
|
+ ? String.Empty
|
|
|
+ : comment.ToString();
|
|
|
+
|
|
|
+ if (text.ToString().Length > 40)
|
|
|
+ {
|
|
|
+ html.ViewContext.Writer.Write(text.Substring(0, 40) + " ...");
|
|
|
+ html.ViewContext.Writer.Write("<a href=\"#\" onclick='showComment(\"appendix\"," + id + ",this)'><br />Anzeigen</a>");
|
|
|
+ }
|
|
|
+ else
|
|
|
+ html.ViewContext.Writer.Write(text);
|
|
|
+ });
|
|
|
+ column.MinWidth = 250;
|
|
|
+ column.Width = new Unit(14, UnitType.Percentage);
|
|
|
+ });
|
|
|
+
|
|
|
+ s.TotalSummary.Add(new ASPxSummaryItem
|
|
|
+ {
|
|
|
+ SummaryType = DevExpress.Data.SummaryItemType.Sum,
|
|
|
+ FieldName = "OfferingValue",
|
|
|
+ DisplayFormat = "{0:c2}"
|
|
|
+ });
|
|
|
+ s.GroupSummary.Add(new ASPxSummaryItem
|
|
|
+ {
|
|
|
+ SummaryType = DevExpress.Data.SummaryItemType.Sum,
|
|
|
+ FieldName = "OfferingValue",
|
|
|
+ DisplayFormat = "{0:c2}"
|
|
|
+ });
|
|
|
+
|
|
|
+ s.TotalSummary.Add(new ASPxSummaryItem
|
|
|
+ {
|
|
|
+ SummaryType = DevExpress.Data.SummaryItemType.Sum,
|
|
|
+ FieldName = "NegotiationValue",
|
|
|
+ DisplayFormat = "{0:c2}"
|
|
|
+ });
|
|
|
+ s.GroupSummary.Add(new ASPxSummaryItem
|
|
|
+ {
|
|
|
+ SummaryType = DevExpress.Data.SummaryItemType.Sum,
|
|
|
+ FieldName = "NegotiationValue",
|
|
|
+ DisplayFormat = "{0:c2}"
|
|
|
+ });
|
|
|
+
|
|
|
+ s.ClientLayout = (sender, e) =>
|
|
|
+ {
|
|
|
+ if (e.LayoutMode == ClientLayoutMode.Loading)
|
|
|
+ {
|
|
|
+ if (System.Web.HttpContext.Current.Session["AppendixGridState"] != null)
|
|
|
+ e.LayoutData = (string)System.Web.HttpContext.Current.Session["AppendixGridState"];
|
|
|
+ }
|
|
|
+ else
|
|
|
+ System.Web.HttpContext.Current.Session["AppendixGridState"] = e.LayoutData;
|
|
|
+ };
|
|
|
+ s.ClientSideEvents.BeginCallback = "function (s, e) { e.customArgs['scrollHeight'] = [ gridScrollHeight ]; }";
|
|
|
+ s.ClientSideEvents.ToolbarItemClick = "function (s, e) { onToolbarItemClick(s, e); }";
|
|
|
+
|
|
|
+ s.Styles.AlternatingRow.BackColor = System.Drawing.Color.FromArgb(247, 247, 247);
|
|
|
+
|
|
|
+ return s;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|