_UserGridPartial.cshtml 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  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(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-Users-Edit"))
  26. {
  27. s.Columns.Add(column =>
  28. {
  29. column.Caption = "#";
  30. column.SetDataItemTemplateContent(c =>
  31. {
  32. ViewContext.Writer.Write(
  33. "<a href=\"#\" onclick=\"editUser(" + 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=\"editUser(-1)\">Neu</a>&nbsp;");
  41. });
  42. column.Settings.AllowDragDrop = DefaultBoolean.False;
  43. column.Settings.AllowSort = DefaultBoolean.False;
  44. column.Width = 150;
  45. });
  46. }
  47. s.Columns.Add("CustomNumber", "Personal-Nr.");
  48. s.Columns.Add("Forename", "Vorname");
  49. s.Columns.Add("Lastname", "Nachname");
  50. s.Columns.Add("MailAddress", "Mail-Adresse");
  51. s.Columns.Add("RoleDescription", "Rollen");
  52. s.ClientLayout = (sender, e) =>
  53. {
  54. if (e.LayoutMode == ClientLayoutMode.Loading)
  55. {
  56. if (Session["UserGridState"] != null)
  57. e.LayoutData = (string)Session["UserGridState"];
  58. }
  59. else
  60. Session["UserGridState"] = e.LayoutData;
  61. };
  62. s.ClientSideEvents.BeginCallback = "function (s, e) { e.customArgs['scrollHeight'] = [ gridScrollHeight ]; }";
  63. s.Styles.AlternatingRow.BackColor = System.Drawing.Color.FromArgb(247, 247, 247);
  64. }).Bind(Model).GetHtml()