_UserGridPartial.cshtml 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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("CustomNumber", "Personal-Nr.");
  34. s.Columns.Add("Forename", "Vorname");
  35. s.Columns.Add("Lastname", "Nachname");
  36. s.Columns.Add("MailAddress", "Mail-Adresse");
  37. s.Columns.Add(column =>
  38. {
  39. column.Caption = "Rollen";
  40. column.SetDataItemTemplateContent(r =>
  41. {
  42. var modelItem = Model
  43. .ElementAt(r.ItemIndex).RoleDescriptions;
  44. ViewContext.Writer.Write(
  45. String.Join(", ", String.Join(", ", modelItem))
  46. );
  47. });
  48. });
  49. s.ClientLayout = (sender, e) =>
  50. {
  51. if (e.LayoutMode == ClientLayoutMode.Loading)
  52. {
  53. if (Session["UserGridState"] != null)
  54. e.LayoutData = (string)Session["UserGridState"];
  55. }
  56. else
  57. Session["UserGridState"] = e.LayoutData;
  58. };
  59. s.Styles.AlternatingRow.BackColor = System.Drawing.Color.FromArgb(247, 247, 247);
  60. }).Bind(Model).GetHtml()