_ConfigItemGridPartial.cshtml 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  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. s.SettingsPager.PageSizeItemSettings.Visible = true;
  21. s.SettingsPager.PageSize = 50;
  22. if (userContext.CurrentUser.HasFunction("Misc-ConfigItems-Edit"))
  23. {
  24. s.Columns.Add(column =>
  25. {
  26. column.Caption = "#";
  27. column.SetDataItemTemplateContent(c =>
  28. {
  29. ViewContext.Writer.Write(
  30. "<a href=\"#\" onclick=\"editConfigItem(" + DataBinder.Eval(c.DataItem, "Id") + ")\">Bearbeiten</a>&nbsp;" +
  31. "<a href=\"#\" onclick=\"confirmDelete(" + DataBinder.Eval(c.DataItem, "Id") + ")\">Löschen</a>"
  32. );
  33. });
  34. column.SetHeaderTemplateContent(c =>
  35. {
  36. ViewContext.Writer.Write(
  37. "<a href=\"#\" onclick=\"editConfigItem(-1)\">Neu</a>&nbsp;");
  38. });
  39. column.Settings.AllowDragDrop = DefaultBoolean.False;
  40. column.Settings.AllowSort = DefaultBoolean.False;
  41. column.Width = new Unit(150, UnitType.Pixel);
  42. });
  43. }
  44. s.Columns.Add(column =>
  45. {
  46. column.Caption = "Name";
  47. column.FieldName = "Name";
  48. column.MinWidth = 220;
  49. column.Width = new Unit(20, UnitType.Percentage);
  50. column.SetDataItemTemplateContent(c =>
  51. {
  52. var name = DataBinder.Eval(c.DataItem, "Name").ToString();
  53. if (String.IsNullOrEmpty(name))
  54. ViewContext.Writer.Write(String.Empty);
  55. else
  56. {
  57. if (name.Length > 25)
  58. ViewContext.Writer.Write(
  59. "<a href=\"#\" onmouseover='showFullName(\"" + name + "\",this)'>" + name.Substring(0, 25) + " ...</a>");
  60. else
  61. ViewContext.Writer.Write(name);
  62. }
  63. });
  64. });
  65. s.Columns.Add(column =>
  66. {
  67. column.Caption = "Datentyp";
  68. column.FieldName = "TypeDescription";
  69. column.MinWidth = 100;
  70. column.Width = new Unit(15, UnitType.Percentage);
  71. });
  72. s.Columns.Add(column =>
  73. {
  74. column.Caption = "Wert";
  75. column.FieldName = "Value";
  76. column.MinWidth = 120;
  77. column.Width = new Unit(15, UnitType.Percentage);
  78. });
  79. s.Columns.Add(column =>
  80. {
  81. column.Caption = "Beschreibung";
  82. column.FieldName = "Description";
  83. column.MinWidth = 300;
  84. column.Width = new Unit(40, UnitType.Percentage);
  85. });
  86. s.ClientLayout = (sender, e) =>
  87. {
  88. if (e.LayoutMode == ClientLayoutMode.Loading)
  89. {
  90. if (Session["ConfigItemGridState"] != null)
  91. e.LayoutData = (string)Session["ConfigItemGridState"];
  92. }
  93. else
  94. Session["ConfigItemGridState"] = e.LayoutData;
  95. };
  96. s.ClientSideEvents.BeginCallback = "function (s, e) { e.customArgs['scrollHeight'] = [ gridScrollHeight ]; }";
  97. s.Styles.AlternatingRow.BackColor = System.Drawing.Color.FromArgb(247, 247, 247);
  98. }).Bind(Model).GetHtml()