@{ var userContext = GreenTree.Nachtragsmanagement.Core.CommonHelper.UserContext(); } @model GreenTree.Nachtragsmanagement.Web.Models.Site.SiteDataModel @Html.DevExpress().TreeList(t => { t.Name = "devTreeListSiteDeviationAppendices"; t.KeyFieldName = "TreeKey"; t.ParentFieldName = "TreeParentKey"; t.CallbackRouteValues = new { Controller = "Site", Action = "PartialDeviationAppendices", siteId = Model.Id }; t.Width = Unit.Percentage(100); t.Settings.GridLines = GridLines.Both; t.SettingsBehavior.AllowDragDrop = true; t.SettingsEditing.NodeDragDropRouteValues = new { Controller = "Site", Action = "PartialDeviationAppendices", siteId = Model.Id }; t.ClientSideEvents.StartDragNode = "function (s, e) { startSiteTreeNodeDrag(s, e); }"; t.ClientSideEvents.EndDragNode = "function (s, e) { endSiteTreeNodeDrag(s, e); }"; t.Columns.Add(column => { column.AllowSort = DefaultBoolean.False; column.SetHeaderCaptionTemplateContent(c => { ViewContext.Writer.Write( "Neuer Nachtrag
"); }); column.SetDataCellTemplateContent(c => { var treeKey = DataBinder.Eval(c.DataItem, "TreeKey").ToString(); if (treeKey == "a_0") { ViewContext.Writer.Write( "Neue VA
"); } else if (treeKey.StartsWith("d")) { ViewContext.Writer.Write( "Bearbeiten
"); ViewContext.Writer.Write( "Löschen"); } else if (treeKey.StartsWith("a")) { ViewContext.Writer.Write( "Neue VA
"); ViewContext.Writer.Write( "Bearbeiten
"); ViewContext.Writer.Write( "Löschen"); } }); }); t.Columns.Add(column => { column.Caption = "Nummer"; column.SetDataCellTemplateContent(c => { var treeKey = DataBinder.Eval(c.DataItem, "TreeKey").ToString(); if (treeKey.StartsWith("a")) { if (treeKey == "a_0") ViewContext.Writer.Write("" + DataBinder.Eval(c.DataItem, "CustomNumber") + ""); else ViewContext.Writer.Write("NT - " + DataBinder.Eval(c.DataItem, "CustomNumber") + ""); } else if (treeKey.StartsWith("d")) { ViewContext.Writer.Write("VA - " + DataBinder.Eval(c.DataItem, "CustomNumber")); } }); }); t.Columns.Add(column => { column.FieldName = "Description"; column.Caption = "Bezeichnung"; column.CellStyle.Wrap = DefaultBoolean.True; }); t.Columns.Add(column => { column.Caption = "Eingang"; column.FieldName = "ReceiptDate"; column.PropertiesEdit.DisplayFormatString = "dd.MM.yyyy"; }); t.Columns.Add(column => { column.Caption = "Bewertung"; column.FieldName = "Value"; column.PropertiesEdit.DisplayFormatString = "c2"; }); t.Columns.Add("StatusDescription", "Status"); t.Columns.Add(column => { column.FieldName = "DistCatDescription"; column.Caption = "Kategorien"; column.CellStyle.Wrap = DefaultBoolean.True; }); t.Columns.Add(column => { column.Caption = "Kommentar"; column.CellStyle.Wrap = DefaultBoolean.True; column.SetDataCellTemplateContent(c => { var id = Convert.ToInt32(DataBinder.Eval(c.DataItem, "Id")); var treeKey = DataBinder.Eval(c.DataItem, "TreeKey").ToString(); var comment = DataBinder.Eval(c.DataItem, "Comment"); var text = comment == null ? String.Empty : comment.ToString(); if (text.ToString().Length > 40) { ViewContext.Writer.Write(text.Substring(0, 40) + " ..."); if (treeKey.StartsWith("a")) ViewContext.Writer.Write("
Anzeigen
"); else ViewContext.Writer.Write("
Anzeigen
"); } else ViewContext.Writer.Write(text); }); }); t.HtmlRowPrepared = (sender, e) => { var hexColor = e.GetValue("StatusColor"); var defaultState = ViewData["DefaultAppendixState"] as GreenTree.Nachtragsmanagement.Core.Domain.Appendix.State; var statusDescription = e.GetValue("StatusDescription"); if (hexColor == null || (defaultState != null && statusDescription != null && statusDescription.ToString() == defaultState.Description)) { var treeKey = e.GetValue("TreeKey"); if (treeKey.ToString().StartsWith("a")) e.Row.BackColor = System.Drawing.ColorTranslator.FromHtml("#fff2f2"); } else e.Row.BackColor = System.Drawing.ColorTranslator.FromHtml(hexColor.ToString()); }; t.ControlStyle.CssClass += "siteTreeList"; t.Styles.IndentWithButton.Paddings.PaddingTop = new Unit(18, UnitType.Pixel); t.Styles.Cell.VerticalAlign = VerticalAlign.Top; t.Styles.Cell.Paddings.PaddingTop = new Unit(14, UnitType.Pixel); t.Styles.Cell.Paddings.PaddingBottom = new Unit(14, UnitType.Pixel); }).Bind(Model.SiteTreeData).GetHtml()