_ConfigItemGridPartial.cshtml 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. @model IEnumerable<GreenTree.Nachtragsmanagement.Web.Models.Config.ConfigItemDataModel>
  2. @using GreenTree.Nachtragsmanagement.Web.Extensions
  3. @{
  4. var userContext = GreenTree.Nachtragsmanagement.Core.CommonHelper.UserContext();
  5. }
  6. @Html.DevExpress().GridView(s =>
  7. {
  8. s.Name = "devGridViewConfigItem";
  9. s.KeyFieldName = "Id";
  10. s.CallbackRouteValues = new { Controller = "Misc", Action = "PartialConfigItems" };
  11. s.Width = Unit.Percentage(99);
  12. s.Settings.ShowFilterRow = true;
  13. s.Settings.ShowFilterRowMenu = true;
  14. s.Settings.VerticalScrollBarMode = ScrollBarMode.Auto;
  15. s.Settings.VerticalScrollableHeight =
  16. (ViewData["ScrollHeight"] == null || (int)ViewData["ScrollHeight"] == -1)
  17. ? 400
  18. : (int)ViewData["ScrollHeight"];
  19. s.SettingsPager.AlwaysShowPager = true;
  20. if (userContext.CurrentUser.HasFunction("Misc-ConfigItems-Edit"))
  21. {
  22. s.Columns.Add(column =>
  23. {
  24. column.Caption = "#";
  25. column.SetDataItemTemplateContent(c =>
  26. {
  27. ViewContext.Writer.Write(
  28. "<a href=\"#\" onclick=\"editConfigItem(" + DataBinder.Eval(c.DataItem, "Id") + ")\">Bearbeiten</a>&nbsp;" +
  29. "<a href=\"#\" onclick=\"confirmDelete(" + DataBinder.Eval(c.DataItem, "Id") + ")\">Löschen</a>"
  30. );
  31. });
  32. column.SetHeaderTemplateContent(c =>
  33. {
  34. ViewContext.Writer.Write(
  35. "<a href=\"#\" onclick=\"editConfigItem(-1)\">Neu</a>&nbsp;");
  36. });
  37. column.Settings.AllowDragDrop = DefaultBoolean.False;
  38. column.Settings.AllowSort = DefaultBoolean.False;
  39. column.Width = new Unit(150, UnitType.Pixel);
  40. });
  41. }
  42. s.Columns.Add(column =>
  43. {
  44. column.Caption = "Name";
  45. column.FieldName = "Name";
  46. column.MinWidth = 220;
  47. column.Width = new Unit(20, UnitType.Percentage);
  48. column.SetDataItemTemplateContent(c =>
  49. {
  50. var name = DataBinder.Eval(c.DataItem, "Name").ToString();
  51. if (String.IsNullOrEmpty(name))
  52. ViewContext.Writer.Write(String.Empty);
  53. else
  54. {
  55. if (name.Length > 25)
  56. ViewContext.Writer.Write(
  57. "<a href=\"#\" onmouseover='showFullName(\"" + name + "\",this)'>" + name.Substring(0, 25) + " ...</a>");
  58. else
  59. ViewContext.Writer.Write(name);
  60. }
  61. });
  62. });
  63. s.Columns.Add(column =>
  64. {
  65. column.Caption = "Datentyp";
  66. column.FieldName = "TypeDescription";
  67. column.MinWidth = 100;
  68. column.Width = new Unit(15, UnitType.Percentage);
  69. });
  70. s.Columns.Add(column =>
  71. {
  72. column.Caption = "Wert";
  73. column.FieldName = "Value";
  74. column.MinWidth = 120;
  75. column.Width = new Unit(15, UnitType.Percentage);
  76. });
  77. s.Columns.Add(column =>
  78. {
  79. column.Caption = "Beschreibung";
  80. column.FieldName = "Description";
  81. column.MinWidth = 300;
  82. column.Width = new Unit(40, UnitType.Percentage);
  83. });
  84. s.ClientLayout = (sender, e) =>
  85. {
  86. if (e.LayoutMode == ClientLayoutMode.Loading)
  87. {
  88. if (Session["ConfigItemGridState"] != null)
  89. e.LayoutData = (string)Session["ConfigItemGridState"];
  90. }
  91. else
  92. Session["ConfigItemGridState"] = e.LayoutData;
  93. };
  94. s.ClientSideEvents.BeginCallback = "function (s, e) { e.customArgs['scrollHeight'] = [ gridScrollHeight ]; }";
  95. s.Styles.AlternatingRow.BackColor = System.Drawing.Color.FromArgb(247, 247, 247);
  96. }).Bind(Model).GetHtml()