acumatica - 如何将第一个下拉值设置为网格中第一行的默认值,然后将第二个值设置为网格中第二行的默认值
问题描述
在“产品”下拉列表中,有 2 个值,第一个值(产品)将默认仅用于第一行,第二个值(联产品)将默认来自第二行。
我在 FieldDefaulting 事件中试过这个
protected void TSFormulaProdsNCoProds_Product_FieldDefaulting(PXCache cache, PXFieldDefaultingEventArgs e)
{
var row = (TSFormulaProdsNCoProds)e.Row;
if (row == null)
return;
if (TSFormProdsNCoProds.Select().Count == 0)
{
e.NewValue = "P";
}
else
{
e.NewValue = "C";
}
}
谁能给我一个建议?
解决方案
很可能您在级别上PXDefault
装饰了属性。DAC
在这种情况下,您需要设置Cancel
标志以防止执行FieldDefaulting
在属性中定义的事件处理程序。
例子 :-
protected void TSFormulaProdsNCoProds_Product_FieldDefaulting(PXCache cache, PXFieldDefaultingEventArgs e)
{
var row = (TSFormulaProdsNCoProds)e.Row;
if (row == null)
return;
e.NewValue = (TSFormProdsNCoProds.Select().Count == 0) ? "P" : "C";
e.Cancel = true;
}
这在 中Example 5.2: Inserting a Default Detail Data Record
进行了解释T200 Acumatica Framework Fundamental course
。
推荐阅读
- jquery - ERR EMPTY RESPOSNE 在 wordpress 中的 ajax 删除请求
- php - 为什么不能将信息写入 /tmp 目录而不是 /var/www/html?
- php - 如何使用mailgun发送带有附件的批量/批量电子邮件?
- html - 如何删除桌面屏幕中的汉堡菜单图标但仅在移动设备中需要?
- node.js - 在其他函数中使用函数的值
- javascript - 如何从div中剪贴一些文本
- reactjs - 根据当前时间更新数组
- sql - 将单个列连接成两个单独的列
- ios - Autoresizing UITableViewCell with UITextView which has text aligned to vertical center simultaneously?
- angular - angular2(生产模式)-EventSource 的响应具有不是“text/event-stream”的 MIME 类型(“text/html”)。中止连接