_SiteEditTreePartial.cshtml 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. @{
  2. var userContext = GreenTree.Nachtragsmanagement.Core.CommonHelper.UserContext();
  3. }
  4. @model GreenTree.Nachtragsmanagement.Web.Models.Site.SiteDataModel
  5. @Html.DevExpress().TreeList(t =>
  6. {
  7. t.Name = "devTreeListSiteDeviationAppendices";
  8. t.KeyFieldName = "TreeKey";
  9. t.ParentFieldName = "TreeParentKey";
  10. t.CallbackRouteValues = new { Controller = "Site", Action = "PartialDeviationAppendices", siteId = Model.Id };
  11. t.Width = Unit.Percentage(100);
  12. t.Settings.GridLines = GridLines.Vertical;
  13. t.SettingsBehavior.AllowDragDrop = true;
  14. t.SettingsEditing.NodeDragDropRouteValues = new { Controller = "Site", Action = "PartialDeviationAppendices", siteId = Model.Id };
  15. t.ClientSideEvents.StartDragNode = "function (s, e) { startSiteTreeNodeDrag(s, e); }";
  16. t.ClientSideEvents.EndDragNode = "function (s, e) { endSiteTreeNodeDrag(s, e); }";
  17. t.Columns.Add(column =>
  18. {
  19. column.AllowSort = DefaultBoolean.False;
  20. column.SetHeaderCaptionTemplateContent(c =>
  21. {
  22. ViewContext.Writer.Write(
  23. "<a href=\"#\" onclick=\"addAppendixToSite(" + Model.Id + ")\">Neuer Nachtrag</a><br />");
  24. });
  25. column.SetDataCellTemplateContent(c =>
  26. {
  27. var treeKey = DataBinder.Eval(c.DataItem, "TreeKey").ToString();
  28. if (treeKey == "a_0")
  29. {
  30. ViewContext.Writer.Write(
  31. "<a href=\"#\" onclick=\"addDeviationToSite(" + Model.Id + ")\">Neue VA</a><br />");
  32. }
  33. else if (treeKey.StartsWith("d"))
  34. {
  35. ViewContext.Writer.Write(
  36. "<a href=\"#\" onclick=\"editDeviation(" + DataBinder.Eval(c.DataItem, "Id") + ")\">Bearbeiten</a><br />");
  37. ViewContext.Writer.Write(
  38. "<a href=\"#\" onclick=\"confirmDeleteDeviation(" + DataBinder.Eval(c.DataItem, "Id") + ")\">Löschen</a>");
  39. }
  40. else if (treeKey.StartsWith("a"))
  41. {
  42. ViewContext.Writer.Write(
  43. "<a href=\"#\" onclick=\"addDeviationToAppendix(" + DataBinder.Eval(c.DataItem, "Id") + ")\">Neue VA</a><br />");
  44. ViewContext.Writer.Write(
  45. "<a href=\"#\" onclick=\"editAppendix(" + DataBinder.Eval(c.DataItem, "Id") + ")\">Bearbeiten</a><br />");
  46. ViewContext.Writer.Write(
  47. "<a href=\"#\" onclick=\"confirmDeleteAppendix(" + DataBinder.Eval(c.DataItem, "Id") + ")\">Löschen</a>");
  48. }
  49. });
  50. });
  51. t.Columns.Add(column =>
  52. {
  53. column.Caption = "Nummer";
  54. column.SetDataCellTemplateContent(c =>
  55. {
  56. var treeKey = DataBinder.Eval(c.DataItem, "TreeKey").ToString();
  57. if (treeKey.StartsWith("a"))
  58. {
  59. ViewContext.Writer.Write("<b>" + DataBinder.Eval(c.DataItem, "CustomNumber") + "</b>");
  60. }
  61. else if (treeKey.StartsWith("d"))
  62. {
  63. ViewContext.Writer.Write(DataBinder.Eval(c.DataItem, "CustomNumber"));
  64. }
  65. });
  66. });
  67. t.Columns.Add(column =>
  68. {
  69. column.FieldName = "Description";
  70. column.Caption = "Bezeichnung";
  71. column.CellStyle.Wrap = DefaultBoolean.True;
  72. });
  73. t.Columns.Add(column =>
  74. {
  75. column.Caption = "Eingang";
  76. column.FieldName = "ReceiptDate";
  77. column.PropertiesEdit.DisplayFormatString = "dd.MM.yyyy";
  78. });
  79. t.Columns.Add(column =>
  80. {
  81. column.Caption = "Bewertung";
  82. column.FieldName = "Value";
  83. column.PropertiesEdit.DisplayFormatString = "c2";
  84. });
  85. t.Columns.Add("StatusDescription", "Status");
  86. t.Columns.Add(column =>
  87. {
  88. column.FieldName = "DistCatDescription";
  89. column.Caption = "Kategorien";
  90. column.CellStyle.Wrap = DefaultBoolean.True;
  91. });
  92. t.Columns.Add(column =>
  93. {
  94. column.Caption = "Kommentar";
  95. column.CellStyle.Wrap = DefaultBoolean.True;
  96. column.SetDataCellTemplateContent(c =>
  97. {
  98. var id = Convert.ToInt32(DataBinder.Eval(c.DataItem, "Id"));
  99. var treeKey = DataBinder.Eval(c.DataItem, "TreeKey").ToString();
  100. var comment = DataBinder.Eval(c.DataItem, "Comment");
  101. var text = comment == null
  102. ? String.Empty
  103. : comment.ToString();
  104. if (text.ToString().Length > 40)
  105. {
  106. ViewContext.Writer.Write(text.Substring(0, 40) + " ...");
  107. if (treeKey.StartsWith("a"))
  108. ViewContext.Writer.Write("<a href=\"#\" onclick='showComment(\"appendix\"," + id + ",this)'><br />Anzeigen</a>");
  109. else
  110. ViewContext.Writer.Write("<a href=\"#\" onclick='showComment(\"appendix\"," + id + ",this)'><br />Anzeigen</a>");
  111. }
  112. else
  113. ViewContext.Writer.Write(text);
  114. });
  115. });
  116. t.HtmlRowPrepared = (sender, e) =>
  117. {
  118. var hexColor = e.GetValue("StatusColor");
  119. if (hexColor == null) return;
  120. e.Row.BackColor = System.Drawing.ColorTranslator.FromHtml(hexColor.ToString());
  121. };
  122. t.ControlStyle.CssClass += "siteTreeList";
  123. t.Styles.IndentWithButton.Paddings.PaddingTop = new Unit(18, UnitType.Pixel);
  124. t.Styles.Cell.VerticalAlign = VerticalAlign.Top;
  125. t.Styles.Cell.Paddings.PaddingTop = new Unit(14, UnitType.Pixel);
  126. t.Styles.Cell.Paddings.PaddingBottom = new Unit(14, UnitType.Pixel);
  127. }).Bind(Model.SiteTreeData).GetHtml()