_RoleGridPartial.cshtml 2.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. @model IEnumerable<GreenTree.Nachtragsmanagement.Web.Models.Admin.User.RoleDataModel>
  2. @{
  3. var userContext = GreenTree.Nachtragsmanagement.Core.CommonHelper.UserContext();
  4. }
  5. @Html.DevExpress().GridView(s =>
  6. {
  7. s.Name = "devGridViewRole";
  8. s.KeyFieldName = "Id";
  9. s.CallbackRouteValues = new { Controller = "Admin", Action = "PartialRoles" };
  10. s.Width = Unit.Percentage(99);
  11. s.Settings.ShowFilterRow = true;
  12. s.Settings.ShowFilterRowMenu = true;
  13. s.Settings.VerticalScrollBarMode = ScrollBarMode.Auto;
  14. s.Settings.VerticalScrollableHeight =
  15. (ViewData["ScrollHeight"] == null || (int)ViewData["ScrollHeight"] == -1)
  16. ? 400
  17. : (int)ViewData["ScrollHeight"];
  18. s.SettingsPager.AlwaysShowPager = true;
  19. s.SettingsPager.Position = PagerPosition.Bottom;
  20. s.SettingsPager.PageSize = 20;
  21. s.SettingsPager.PageSizeItemSettings.Visible = true;
  22. s.SettingsPager.FirstPageButton.Visible = true;
  23. s.SettingsPager.LastPageButton.Visible = true;
  24. s.SettingsPager.NumericButtonCount = 5;
  25. if (userContext.CurrentUser.HasFunction("Administration-Roles-Edit"))
  26. {
  27. s.Columns.Add(column =>
  28. {
  29. column.Caption = "#";
  30. column.SetDataItemTemplateContent(c =>
  31. {
  32. ViewContext.Writer.Write(
  33. "<a href=\"#\" onclick=\"editRole(" + DataBinder.Eval(c.DataItem, "Id") + ")\">Bearbeiten</a>&nbsp;" +
  34. "<a href=\"#\" onclick=\"confirmDelete(" + DataBinder.Eval(c.DataItem, "Id") + ")\">Löschen</a>"
  35. );
  36. });
  37. column.SetHeaderTemplateContent(c =>
  38. {
  39. ViewContext.Writer.Write(
  40. "<a href=\"#\" onclick=\"editRole(-1)\">Neu</a>&nbsp;");
  41. });
  42. column.Settings.AllowDragDrop = DefaultBoolean.False;
  43. column.Settings.AllowSort = DefaultBoolean.False;
  44. column.Width = new Unit(150, UnitType.Pixel);
  45. });
  46. }
  47. s.Columns.Add(column =>
  48. {
  49. column.FieldName = "Description";
  50. column.Caption = "Beschreibung";
  51. column.MinWidth = 200;
  52. column.Width = new Unit(15, UnitType.Percentage);
  53. });
  54. s.Columns.Add(column =>
  55. {
  56. column.FieldName = "Level";
  57. column.Caption = "Stufe";
  58. column.MinWidth = 120;
  59. column.Width = new Unit(8, UnitType.Percentage);
  60. });
  61. s.Columns.Add(column =>
  62. {
  63. column.FieldName = "FunctionDescription";
  64. column.Caption = "Funktionen";
  65. column.MinWidth = 350;
  66. column.Width = new Unit(57, UnitType.Percentage);
  67. });
  68. s.Columns.Add(column =>
  69. {
  70. column.FieldName = "UserDescription";
  71. column.Caption = "Mitglieder";
  72. column.MinWidth = 250;
  73. column.Width = new Unit(20, UnitType.Percentage);
  74. });
  75. s.ClientLayout = (sender, e) =>
  76. {
  77. if (e.LayoutMode == ClientLayoutMode.Loading)
  78. {
  79. if (Session["RoleGridState"] != null)
  80. e.LayoutData = (string)Session["RoleGridState"];
  81. }
  82. else
  83. Session["RoleGridState"] = e.LayoutData;
  84. };
  85. s.ClientSideEvents.BeginCallback = "function (s, e) { e.customArgs['scrollHeight'] = [ gridScrollHeight ]; }";
  86. s.Styles.AlternatingRow.BackColor = System.Drawing.Color.FromArgb(247, 247, 247);
  87. }).Bind(Model).GetHtml()