_UserGridPartial.cshtml 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. @model IEnumerable<GreenTree.Nachtragsmanagement.Web.Models.Admin.User.UserDataModel>
  2. @{
  3. var userContext = GreenTree.Nachtragsmanagement.Core.CommonHelper.UserContext();
  4. }
  5. @Html.DevExpress().GridView(s =>
  6. {
  7. s.Name = "devGridViewUser";
  8. s.KeyFieldName = "Id";
  9. s.CallbackRouteValues = new { Controller = "Admin", Action = "PartialUsers" };
  10. s.Width = Unit.Percentage(100);
  11. if (userContext.CurrentUser.HasFunction("Administration-Users-Edit"))
  12. {
  13. s.Columns.Add(column =>
  14. {
  15. column.Caption = "#";
  16. column.SetDataItemTemplateContent(c =>
  17. {
  18. ViewContext.Writer.Write(
  19. "<a href=\"#\" onclick=\"editUser(" + 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=\"editUser(-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("Forename", "Vorname");
  34. s.Columns.Add("Lastname", "Nachname");
  35. s.Columns.Add("MailAddress", "Mail-Adresse");
  36. s.Columns.Add(column =>
  37. {
  38. column.Caption = "Rollen";
  39. column.SetDataItemTemplateContent(r =>
  40. {
  41. var modelItem = Model
  42. .ElementAt(r.ItemIndex).RoleDescriptions;
  43. ViewContext.Writer.Write(
  44. String.Join(", ", String.Join(", ", modelItem))
  45. );
  46. });
  47. });
  48. s.ClientLayout = (sender, e) =>
  49. {
  50. if (e.LayoutMode == ClientLayoutMode.Loading)
  51. {
  52. if (Session["UserGridState"] != null)
  53. e.LayoutData = (string)Session["UserGridState"];
  54. }
  55. else
  56. Session["UserGridState"] = e.LayoutData;
  57. };
  58. s.Styles.AlternatingRow.BackColor = System.Drawing.Color.FromArgb(247, 247, 247);
  59. }).Bind(Model).GetHtml()