_RoleGridPartial.cshtml 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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. if (userContext.CurrentUser.HasFunction("Administration-Roles-Edit"))
  12. {
  13. s.Columns.Add(column =>
  14. {
  15. column.Caption = "#";
  16. column.SetDataItemTemplateContent(c =>
  17. {
  18. ViewContext.Writer.Write(
  19. "<a href=\"#\" onclick=\"editRole(" + DataBinder.Eval(c.DataItem, "Id") + ")\">Bearbeiten</a>&nbsp;" +
  20. "<a href=\"#\" onclick=\"confirmDelete(" + DataBinder.Eval(c.DataItem, "Id") + ")\">Löschen</a>"
  21. );
  22. });
  23. column.SetHeaderTemplateContent(c =>
  24. {
  25. ViewContext.Writer.Write(
  26. "<a href=\"#\" onclick=\"editRole(-1)\">Neu</a>&nbsp;");
  27. });
  28. column.Settings.AllowDragDrop = DefaultBoolean.False;
  29. column.Settings.AllowSort = DefaultBoolean.False;
  30. column.Width = 70;
  31. });
  32. }
  33. s.Columns.Add("Description", "Beschreibung");
  34. s.Columns.Add("Level", "Stufe");
  35. s.Columns.Add(column =>
  36. {
  37. column.Caption = "Funktionen";
  38. column.SetDataItemTemplateContent(r =>
  39. {
  40. var modelItem = Model
  41. .ElementAt(r.ItemIndex).FunctionDescriptions;
  42. ViewContext.Writer.Write(
  43. String.Join(", ", String.Join(", ", modelItem))
  44. );
  45. });
  46. });
  47. s.ClientLayout = (sender, e) =>
  48. {
  49. if (e.LayoutMode == ClientLayoutMode.Loading)
  50. {
  51. if (Session["RoleGridState"] != null)
  52. e.LayoutData = (string)Session["RoleGridState"];
  53. }
  54. else
  55. Session["RoleGridState"] = e.LayoutData;
  56. };
  57. s.Styles.AlternatingRow.BackColor = System.Drawing.Color.FromArgb(247, 247, 247);
  58. }).Bind(Model).GetHtml()