如何禁用 Unigrid 操作

How to disable Unigrid action

我创建了一个维护配色方案列表的模块。某些配色方案是默认方案,切勿删除。但是,有些是由最终用户创建的自定义方案。我定义了一个 IsCustom 字段,如果最终用户创建了配色方案,它将设置为 true。您可以在所附屏幕截图的 "Custome Color Scheme" 列下看到该标志的值。我的问题是如果 IsCustom=false 或如果 {%CurrentUser.UserIsGlobalAdministrator%},我如何禁用删除操作。因此,例如,屏幕截图中唯一可以删除的项目是 Sublime 配色方案。除非,用户是全局管理员。

您可以利用 OnExternalDataBound 事件禁用该操作。

this documentation 中实际上有一个示例,其中 OnExternalDataBound 用于在用户是管理员时禁用操作。只需要一些自定义条件就可以完全满足您的需求。

您需要:

  1. Create a listing extender
  2. 分配给列表控件
  3. Implement OnExternalDataBound event handler根据您的要求