_PluginsGridPartial.cshtml 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. @model IEnumerable<GreenTree.Nachtragsmanagement.Web.Models.Admin.Plugins.PluginDataModel>
  2. @{
  3. var userContext = GreenTree.Nachtragsmanagement.Core.CommonHelper.UserContext();
  4. }
  5. @Html.DevExpress().GridView(s =>
  6. {
  7. s.Name = "devGridViewPlugin";
  8. s.KeyFieldName = "Id";
  9. s.CallbackRouteValues = new { Controller = "Admin", Action = "PartialPlugins" };
  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. if (userContext.CurrentUser.HasFunction("Administration-Plugins-Edit"))
  20. {
  21. s.Columns.Add(column =>
  22. {
  23. column.Caption = "#";
  24. column.SetDataItemTemplateContent(c =>
  25. {
  26. var isInstalled = Convert.ToBoolean(DataBinder.Eval(c.DataItem, "IsInstalled"));
  27. var systemName = DataBinder.Eval(c.DataItem, "SystemName").ToString();
  28. if (isInstalled)
  29. ViewContext.Writer.Write(
  30. "<a href=\"#\" onclick=\'toggleInstallation(\"" + systemName + "\",\"uninstall\")'>Deinstallieren</a>");
  31. else
  32. ViewContext.Writer.Write(
  33. "<a href=\"#\" onclick=\'toggleInstallation(\"" + systemName + "\",\"install\")'>Installieren</a>");
  34. });
  35. column.Settings.AllowDragDrop = DefaultBoolean.False;
  36. column.Settings.AllowSort = DefaultBoolean.False;
  37. column.Width = 80;
  38. });
  39. }
  40. s.Columns.Add(column =>
  41. {
  42. column.Caption = "Logo";
  43. column.FieldName = "LogoUrl";
  44. column.SetDataItemTemplateContent(c =>
  45. {
  46. var logoPath = DataBinder.Eval(c.DataItem, "LogoUrl").ToString();
  47. ViewContext.Writer.Write("<img src=\"" + Url.Content(logoPath) + "\" />");
  48. });
  49. column.MinWidth = 80;
  50. column.Width = new Unit(80, UnitType.Pixel);
  51. column.CellStyle.HorizontalAlign = HorizontalAlign.Center;
  52. });
  53. s.Columns.Add(column =>
  54. {
  55. column.Caption = "Gruppe";
  56. column.FieldName = "Group";
  57. column.MinWidth = 110;
  58. column.Width = new Unit(130, UnitType.Pixel);
  59. });
  60. s.Columns.Add(column =>
  61. {
  62. column.Caption = "Name";
  63. column.FieldName = "FriendlyName";
  64. column.MinWidth = 120;
  65. column.Width = new Unit(150, UnitType.Pixel);
  66. });
  67. s.Columns.Add(column =>
  68. {
  69. column.Caption = "Systemname";
  70. column.FieldName = "SystemName";
  71. column.MinWidth = 150;
  72. column.Width = new Unit(180, UnitType.Pixel);
  73. });
  74. s.Columns.Add(column =>
  75. {
  76. column.Caption = "Version";
  77. column.FieldName = "Version";
  78. column.MinWidth = 70;
  79. column.Width = new Unit(90, UnitType.Pixel);
  80. });
  81. s.Columns.Add(column =>
  82. {
  83. column.Caption = "Autor";
  84. column.FieldName = "Author";
  85. column.MinWidth = 110;
  86. column.Width = new Unit(150, UnitType.Pixel);
  87. });
  88. s.ClientLayout = (sender, e) =>
  89. {
  90. if (e.LayoutMode == ClientLayoutMode.Loading)
  91. {
  92. if (Session["PluginGridState"] != null)
  93. e.LayoutData = (string)Session["PluginGridState"];
  94. }
  95. else
  96. Session["PluginGridState"] = e.LayoutData;
  97. };
  98. s.ClientSideEvents.BeginCallback = "function (s, e) { e.customArgs['scrollHeight'] = [ gridScrollHeight ]; }";
  99. s.Styles.AlternatingRow.BackColor = System.Drawing.Color.FromArgb(247, 247, 247);
  100. }).Bind(Model).GetHtml()