_ConfigItemGridPartial.cshtml 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  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(120, UnitType.Pixel);
  40. });
  41. }
  42. s.Columns.Add(column =>
  43. {
  44. column.Caption = "Name";
  45. column.FieldName = "Name";
  46. column.MinWidth = 120;
  47. column.Width = new Unit(10, UnitType.Percentage);
  48. });
  49. s.Columns.Add(column =>
  50. {
  51. column.Caption = "Datentyp";
  52. column.FieldName = "TypeDescription";
  53. column.MinWidth = 80;
  54. column.Width = new Unit(15, UnitType.Percentage);
  55. });
  56. s.Columns.Add(column =>
  57. {
  58. column.Caption = "Wert";
  59. column.FieldName = "Value";
  60. column.MinWidth = 150;
  61. column.Width = new Unit(30, UnitType.Percentage);
  62. });
  63. s.Columns.Add(column =>
  64. {
  65. column.Caption = "Beschreibung";
  66. column.FieldName = "Description";
  67. column.MinWidth = 300;
  68. column.Width = new Unit(45, UnitType.Percentage);
  69. });
  70. s.ClientLayout = (sender, e) =>
  71. {
  72. if (e.LayoutMode == ClientLayoutMode.Loading)
  73. {
  74. if (Session["ConfigItemGridState"] != null)
  75. e.LayoutData = (string)Session["ConfigItemGridState"];
  76. }
  77. else
  78. Session["ConfigItemGridState"] = e.LayoutData;
  79. };
  80. s.ClientSideEvents.BeginCallback = "function (s, e) { e.customArgs['scrollHeight'] = [ gridScrollHeight ]; }";
  81. s.Styles.AlternatingRow.BackColor = System.Drawing.Color.FromArgb(247, 247, 247);
  82. }).Bind(Model).GetHtml()