如何有条件地隐藏 Acumatica 屏幕内的 PXTabItem?

2023-12-07

我想隐藏“销售订单行佣金”选项卡,但我只想隐藏特定角色的选项卡。这可能吗?


选项#1:使用 PXTabItem VisibleExp 属性

这种方法与相当简单的声明条件完美配合,该条件利用来自特定容器的输入控制值(PXForm最常用于这种情况)。

例如,要隐藏以下订单的“销售订单佣金”选项卡TR输入,你应该撰写可视化表达式如下:

<px:PXTabItem Text="Commissions"
              VisibleExp="DataControls[&quot;edOrderType&quot;].Value!=TR" 
              BindingContext="form" 
              RepaintOnDemand="false">

快速概览 3PXT选项卡项上面代码片段中使用的属性:

  • 绑定上下文:托管用于计算 PXTabItem 可见属性的输入控件的容器控件的 ID
  • 可视化表达式:计算 PXTabItem 可见属性的表达式
  • 按需重绘:控制PXTab控件的初始化。当设置为 True(默认值)时,PXTabItem 仅当用户选择选项卡时才会初始化,否则,它将在每次回发时初始化。

选项#2:在代码中隐藏放置在 PXTabItem 内的所有控件

毫无疑问,与传统方法相比,这种方法在灵活性方面向前迈进了一步。PXTabItem 可见Exp财产。它允许您在业务逻辑中编写更复杂的条件,并且不依赖于网页。

要隐藏“销售订单佣金”选项卡,您应该订阅 SOOrder 的 RowSelected 处理程序,如下所示:

public class SOOrderEntryExt : PXGraphExtension<SOOrderEntry>
{
    public void SOOrder_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
    {
        SOOrder order = (SOOrder)e.Row;
        if (order == null) return;

        bool financeRoleMember = System.Web.Security.Roles.IsUserInRole("FINANCE");
        Base.SalesPerTran.AllowSelect = financeRoleMember;
        PXUIFieldAttribute.SetVisible<SOOrder.salesPersonID>(Base.Document.Cache, null, financeRoleMember);
    }
}

With 允许选择属性设置为 false,则每人销售量数据视图将自动隐藏每个PXGrid, whose 数据成员属性设置为每人销售量。由于销售订单佣金选项卡还包含默认销售人员查找,因此我们需要另外设置Visible财产给false为了PXUI字段属性装饰 SOOrder SalesPersonID 字段。PXT选项卡项当它不包含可见控件时自动隐藏。

请告知,类似于PXTabItem 可见Exp属性,为了使这种方法正常工作,您必须始终设置按需重绘 to false为了PXT选项卡项你有条件地隐藏。对于这个特定的例子,我们可以跳过这一步,因为按需重绘被设定为false在原来的SO301000.aspx文件由 Acumatica 分发。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何有条件地隐藏 Acumatica 屏幕内的 PXTabItem? 的相关文章

  • 扩展基于 Acumatica 投影的 DAC 查询

    有没有办法扩展 修改投影 DAC 的投影查询 例如 如果我需要向投影添加连接语句 然后将新连接的表用于可用字段 向 PXCacheExtension 添加自定义字段可以按预期工作 但在 PXCacheExtension DAC 顶部指定 P
  • 防止更新禁用视图上的注释/文件

    我注意到当网格不允许更新 插入或删除时 可以在网格上插入 更新 删除注释和文件 假设形式相同 有办法关掉它吗 我正在编写一个自定义页面 并希望阻止用户修改任何内容 包括注释和文件 我的网格包含以下内容 MyGrid AllowInsert
  • 在 Acumatica 中,您可以使用未绑定的 DAC 获得图表/页面吗?

    是否可以让图表和页面使用完全未绑定的 DAC 当前在 4 20 中尝试此操作时 我收到以下错误消息 Incorrect syntax near the keyword FROM Description An unhandled except
  • 如何在项目输入屏幕 (PM301000) 中正确对具有多级任务 ID(如 1、1.1、1.1.5、1.2、2、2.1.3、2.2、4、11、13、44 等)的任务进行排序?

    默认开箱排序 预期排序 Set Edit Mask to Unicode项目任务分段密钥 CS202000 以便允许多级任务 CD 允许 值 为了获得预期的排序 我们将创建自定义 BQL 函数 它将数字部分填充到现成的 TaskCD 字段
  • Acumatica 配置向导错误:无法在注册表中获取 IIS 版本

    我尝试在 Acumatica 配置向导上创建一个新实例 我收到一条错误消息 无法从注册表获取您的 IIS 版本 虽然我已经安装了IIS功能 我按照有关在 IIS 上安装哪些功能的说明进行操作 它使用的 net框架是4 6 显然这个问题还没有
  • 网格中的复选框控件未触发 fieldupdated 事件

    我在自定义网格上选择的复选框不会触发 Fieldupdated 事件 protected void MyTable Selected FieldUpdated PXCache cache PXFieldUpdatedEventArgs e
  • Acumatica 通用查询如何将多个 GI 导出为 xml

    我知道你可以一次将一个 GI 导出到 xml 我想知道你可以选择所有用户 GI 并导出到 XML 作为备份 Thanks 您可以通过创建一个自定义项目并将您需要的所有通用查询包含在一个包中来实现此目的 该项目可以导出和导入 其中包括所有附加
  • 有没有办法将用户定义的字段放入选择器中?

    我有一位客户使用用户定义字段 我发现这些值位于数据库的 KvExt 表中 但我还没有找到通过 DAC 或 DAC 扩展直接访问这些值的方法 有没有办法可以访问该字段并将其添加到 Acumatica 基本页面 我的例子中的具体目标是 ARPa
  • ASP.net 在服务引用之间重用类型

    我有两个服务引用 我通过为每个服务引用导入一个 WSDL 将其导入到我的 asp net 项目中 第一个引用是来自我的 Web 服务 Acumatica 的默认引用 第二个引用是我在原始 Web 服务中创建的自定义端点服务 问题是 它们都在
  • 如何包含文件上传对话框

    我获得了一些 C 图形扩展代码来上传 Excel 文件 以便导入到 购买收据 屏幕上的 分配 弹出屏幕中 未包含的是似乎用作对话框的 PXSmartPanel 任何关于如何设置 配置此智能面板以实现给定代码中的目的的帮助将不胜感激 有问题的
  • Acumatica - 站点地图项目不会在现代 UI 中显示

    我刚刚将销售佣金报告添加到站点地图 它显示在经典 UI 中 但不显示在现代 UI 中 当我在现代用户界面中搜索它时 结果什么也没有返回 我的站点地图节点在 project xml 中的样子
  • Acumatica API:将活动或注释实体添加/附加到另一个实体(即客户、联系人或机会)

    我能够添加一个 Activity 实体并能够获取 NoteId 但无法将此活动添加到特定实体 或在创建后附加它 如何使用 Rest API 或使用旧的 WSDL 来实现此目的网络服务 None
  • 如何将订单项自定义字段值从机会传递到销售订单?

    我在机会产品选项卡中有一个自定义行号字段 供客户对所选产品重新排序 并且网格按自定义字段值排序 我试图将机会的价值传递给也具有类似字段的销售订单 我尝试过以下代码但它不起作用 PXGraph InstanceCreated AddHandl
  • Acumatica 过滤 PXSelector 具有快速搜索功能

    我有一个自定义 dac 和 pxselector 如下所示 With quick search red bordered search I want to filter with every properties For example w
  • 动态更改列名

    我有一个标题 详细信息自定义屏幕 我在其中根据标题中的下拉选择来操作显示哪些网格列 这工作得很好 但现在我也想更改一些列名称 使用记录的语法 我无法让它工作 我看不出我做错了什么 似乎没有什么区别 我已经附加到进程并在这个事件上设置了一个断
  • 无法加载参考程序集以供执行

    突然我的网站无法加载并给出以下错误 我在 Windows 10 Home 上运行带有 Net Framework 4 7 1 的 VS2017 BadImageFormatException Cannot load a reference
  • Acumatica 实时动态下拉列表

    我有以下用例 Acumatica 组合框 下拉列表 可以有 8 个左右的值 其选择决定了用于在组合框 下拉列表中呈现的表 DAC e g 如果当前StatusProfileID WO1 和Status WCMP WCMP 是当前版本User
  • 如何在 acumatica 中使用 webservices api 导出数据时设置超时

    这是第一个场景 我使用 webservices api 在 acumatica 系统中创建新的 账单 文档到账单和调整屏幕 AP301000 之后 我需要使用网络服务加载当前屏幕 AP301000 的 应用程序 选项卡菜单中的所有文档记录
  • 通用搜索 - 重定向到自定义屏幕

    我创建了一个自定义屏幕 它是客户屏幕的副本 问题是 当我们在通用搜索中输入客户 ID 时 如何重定向到自定义屏幕而不是客户屏幕 请查看我们自定义屏幕的图形代码 public class CustomScreen BusinessAccoun
  • Acumatica - 复制最后一行

    看起来 Acumatica 中看似简单的事情实施起来非常复杂 我想做的就是将网格的最后一行复制为新的 我希望用户自己保存更改 因此我的代码会将其放入缓存中 这是我到目前为止的行动 public PXAction

随机推荐

  • pyQt Matplotlib 小部件实时数据更新

    使用 pyQt 4 8 5 在 Python 2 7 中编写 如何在 pyQt 中实时更新 Matplotlib 小部件 目前 我正在对数据进行采样 现在是 random gauss 附加此数据并进行绘图 您可以看到我每次都会清除该数字并为
  • 将具有多个键的字典按一个键求和的最有效方法是什么?

    我有以下字典结构 product1 product tmpl id product id qty product uom qty price price unit subtotal price subtotal total price to
  • 在appdomain中加载静态类

    我在 C AppDomain 中遇到了一个大问题 我需要在 dll 文件中加载静态类并执行其方法 当我尝试通过以下方式加载它们时 Assembly LoadFrom XXXXX XXXXX is the full path of dll d
  • Laravel 递归关系

    我正在做一个项目Laravel 我有一个可以有父母或可以有孩子的帐户模型 所以我的模型设置如下 public function immediateChildAccounts return this gt hasMany Account ac
  • 仅对特定像素着色

    我有一个代表大脑图像的矩阵 每个 i j 位置的值都在 0 和 1 之间 我正在应用颜色图 以便那些值为 1 的像素为红色 0 为黄色 介于两者之间的像素得到中介值 现在 我想要的是那些值高于 0 8 的像素根据颜色图获得颜色 其余的变得透
  • 在另一个程序集中找到 Razor Pages

    我想在另一个程序集中找到 我的项目 Razor 页面 为此 我编写以下代码 public void ConfigureServices IServiceCollection services var adminAssembly Assemb
  • 应该避免 query_posts() 吗?

    我正在读那个query posts 应避免有利于wp query and pre get posts 我对弄乱循环没有信心 也不完全理解法典 下面的代码是否使用query posts 如果是的话 从那时起query posts 应该避免 你
  • 如何将一组变量放置在 gcc 的特定部分中,arm 是否有类似 #pragma default_variable_attributes 的内容

    下面的链接https www iar com support tech notes linker how do i place a group of functions or variables in a specific section
  • Web Worker 中的传感器读取

    看来我们无法在网络工作者中获取传感器数据 我想知道其背后的原因 用例是我正在考虑在工作线程中获取地理位置数据 并且仅将处理后的版本发送到主线程 对于 GPS 这post说工作线程不支持它 没有给出原因 我仔细检查了一下 网络工作人员不支持
  • SWT Tree - 可以降低本机展开图标吗?

    我有一个JFaceTreeViewer与 SWTTree底层 我正在绘制我的单元格 为自己提供多行支撑 目前 它看起来像这样 我希望展开图标和标签都像这样降低 这对于标签来说没有问题 因为我从StyledCellLabelProvider并
  • 根据日期检查创建新列

    我在 Scala 中有两个数据框 df1 ID Field1 1 AAA 2 BBB 4 CCC and df2 PK start date time 1 2016 10 11 11 55 23 2 2016 10 12 12 25 00
  • getSupportActionBar() 在 Android 应用程序中返回 Null

    我正在尝试在 Android Studio 中使用选项卡执行操作 但是getSupportActionBar 总是返回 null 我只想要一个带有 3 个选项卡的简单操作栏 我可以在其中单击 但操作栏或选项卡都没有出现 这是我的代码 imp
  • ios pjsip - 在 sip 通话期间播放声音

    当我进行 sip 呼叫时 有时我想发送 dtmf 数字 为此 我创建了一个自定义拨号盘 当按下某个键时 该拨号盘应播放该键的声音 但在 sip 呼叫期间不会播放该声音 当没有呼叫时 会播放声音 这些声音是通过以下函数播放的AudioTool
  • 使用 simpleDateFormat java 解析日期

    我想将字符串解析为日期 但获得的日期不正确 我的代码是这样的 SimpleDateFormat df new SimpleDateFormat dd MMM yy hh mm ss S a date1 df parse 17 DEC 19
  • ' aria-label='pip install 生成警告: 'NewConnectionError(''> pip install 生成警告: 'NewConnectionError('

    我花了很多时间搜索是否有人已经遇到了同样的问题 但我没有找到任何东西 一段时间以来 每次我想用 pip 安装软件包时都会收到警告 安装最终成功 但需要更多时间 该警告包含重复 5 次相同的 WARNING WARNING Retrying
  • 如何使 exe 运行而不需要同一目录中的所有 dll 文件?

    因此 如果可能的话 我尝试将所有 DLL 文件合并到我的 exe 中 这样我就可以运行 exe 而不需要同一目录中的 DLL 文件 我试着四处寻找其他人问同样的问题 但没有真正找到任何有用的东西或任何我个人可以遵循的东西 先谢谢您的帮助 选
  • Android Honeycomb:Fragment无法启动AsyncTask?

    我遇到过这个错误以前 但认为这是严格模式系统的一些错误 然而 这显然是正确的 因为我现在悲伤地发现 我的程序由一个活动和大量片段组成 我有一个 Network Worker 片段 它启动如下 URL 请求 public void start
  • Python Selenium ChromeDriver 错误消息:EGL_NOT_INITIALIZED [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 目前不接受答案 我在 Windows 7 和 Python 3 6 上运行 ChromeDriver 2 34 522940 和 Selenium 3 8 0 我正在尝试这段代码 def f
  • 尝试了解 INotifyPropertyChanged

    几个 新手 问题 1 我看到很多 public Person SelectedPerson get set 我假设这不会引发财产变更 那么 如果我想这样做 我必须提供以下内容吗 private Person selectedPerson p
  • 如何有条件地隐藏 Acumatica 屏幕内的 PXTabItem?

    我想隐藏 销售订单行佣金 选项卡 但我只想隐藏特定角色的选项卡 这可能吗 选项 1 使用 PXTabItem VisibleExp 属性 这种方法与相当简单的声明条件完美配合 该条件利用来自特定容器的输入控制值 PXForm最常用于这种情况