如何删除网格中的新增(add)按钮?

本节是为 Saltaralle 编写。若是 TypeScript 版本,请参阅 Serene 的 Basic Samples => Grids => Removing Add Button 页面

你可以在 MyGrid.ts 重写 getButtons() 方法。

下面的代码会删除所有按钮(包括 刷新):

  1. public class MyGrid : EntityGrid<MyRow>
  2. {
  3. //...
  4. protected override List<ToolButton> GetButtons()
  5. {
  6. return new List<ToolButton>();
  7. }
  8. }

使用索引(0 - 第一个按钮)删除新增(add)按钮:

  1. public class MyGrid : EntityGrid<MyRow>
  2. {
  3. //...
  4. protected override List<ToolButton> GetButtons()
  5. {
  6. var buttons = base.GetButtons();
  7. buttons.RemoveAt(0);
  8. return buttons;
  9. }
  10. }

使用硬编码索引有一种糟糕代码的气味

或者,返回一个新的按钮列表:

  1. public class MyGrid : EntityGrid<MyRow>
  2. {
  3. //...
  4. protected override List<ToolButton> GetButtons()
  5. {
  6. var buttons = new List<ToolButton>();
  7. buttons.Add(new ToolButton
  8. {
  9. Title = "My New Button",
  10. CssClass = "my-new-button",
  11. OnClick = delegate {
  12. // ...
  13. }
  14. });
  15. buttons.Add(NewRefreshButton(noText: true));
  16. return buttons;
  17. }
  18. }