@{
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()