_RoleGridPartial.cshtml 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  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(100);
  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. if (userContext.CurrentUser.HasFunction("Administration-Roles-Edit"))
  19. {
  20. s.Columns.Add(column =>
  21. {
  22. column.Caption = "#";
  23. column.SetDataItemTemplateContent(c =>
  24. {
  25. ViewContext.Writer.Write(
  26. "<a href=\"#\" onclick=\"editRole(" + DataBinder.Eval(c.DataItem, "Id") + ")\">Bearbeiten</a>&nbsp;" +
  27. "<a href=\"#\" onclick=\"confirmDelete(" + DataBinder.Eval(c.DataItem, "Id") + ")\">Löschen</a>"
  28. );
  29. });
  30. column.SetHeaderTemplateContent(c =>
  31. {
  32. ViewContext.Writer.Write(
  33. "<a href=\"#\" onclick=\"editRole(-1)\">Neu</a>&nbsp;");
  34. });
  35. column.Settings.AllowDragDrop = DefaultBoolean.False;
  36. column.Settings.AllowSort = DefaultBoolean.False;
  37. column.Width = new Unit(150, UnitType.Pixel);
  38. });
  39. }
  40. s.Columns.Add(column =>
  41. {
  42. column.FieldName = "Description";
  43. column.Caption = "Beschreibung";
  44. column.MinWidth = 200;
  45. column.Width = new Unit(15, UnitType.Percentage);
  46. });
  47. s.Columns.Add(column =>
  48. {
  49. column.FieldName = "Level";
  50. column.Caption = "Stufe";
  51. column.MinWidth = 120;
  52. column.Width = new Unit(8, UnitType.Percentage);
  53. });
  54. s.Columns.Add(column =>
  55. {
  56. column.FieldName = "FunctionDescription";
  57. column.Caption = "Funktionen";
  58. column.MinWidth = 350;
  59. column.Width = new Unit(57, UnitType.Percentage);
  60. });
  61. s.Columns.Add(column =>
  62. {
  63. column.FieldName = "UserDescription";
  64. column.Caption = "Mitglieder";
  65. column.MinWidth = 250;
  66. column.Width = new Unit(20, UnitType.Percentage);
  67. });
  68. s.ClientLayout = (sender, e) =>
  69. {
  70. if (e.LayoutMode == ClientLayoutMode.Loading)
  71. {
  72. if (Session["RoleGridState"] != null)
  73. e.LayoutData = (string)Session["RoleGridState"];
  74. }
  75. else
  76. Session["RoleGridState"] = e.LayoutData;
  77. };
  78. s.ClientSideEvents.BeginCallback = "function (s, e) { e.customArgs['scrollHeight'] = [ gridScrollHeight ]; }";
  79. s.Styles.AlternatingRow.BackColor = System.Drawing.Color.FromArgb(247, 247, 247);
  80. }).Bind(Model).GetHtml()