首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Acumatica显示行号

Acumatica显示行号
EN

Stack Overflow用户
提问于 2017-11-08 14:14:40
回答 1查看 720关注 0票数 2

在Acumatica网格中有显示行号的方法吗?您可以显示LineID;但是,当您对列进行排序时,LineID的意志当然会变得混乱。

谢谢,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-29 16:23:22

有两种可能的情况:

  1. 您需要将行号添加到现有屏幕中。
  2. 您需要将行号添加到屏幕上。

对于案例1,请考虑向页po301000添加行号,选项卡文档详细信息。选项卡文档详细信息中的网格绑定到DataMember事务,在屏幕截图片段中可以看到:

第二部分是图,你需要扩展它。正如您从屏幕截图中看到的,您需要扩展PX.Objects.PO.POOrderEntry:

您需要的第三部分是POLine的扩展。您可以通过以下代码示例来实现它:

代码语言:javascript
复制
public class POLineExt : PXCacheExtension<POLine>
{
    public abstract class rowNumber : IBqlField
    {

    }

    [PXInt]
    public int RowNumber { get; set; }
}

然后像这样扩展图形:

代码语言:javascript
复制
public class POOrderEntryExt : PXGraphExtension<POOrderEntry>
{
    public PXSelect<POLine, Where<POLine.orderType, Equal<Current<POOrder.orderType>>, And<POLine.orderNbr, Equal<Optional<POOrder.orderNbr>>>>, OrderBy<Asc<POLine.orderType, Asc<POLine.orderNbr, Asc<POLine.lineNbr>>>>> Transactions;

    protected IEnumerable transactions()
    {
        var result = Base.Transactions.Select();
        int rowNumber = 1;
        foreach (PXResult<POLine> lineBoxed in result)
        {
            var line = lineBoxed.GetItem<POLine>();
            var lineExt = line.GetExtension<POLineExt>();
            lineExt.RowNumber = rowNumber;
            rowNumber++;
        }

        return result;
    }

最后一部分,您需要在页面上添加自定义的列:

代码语言:javascript
复制
 <px:PXGridLevel DataMember="Transactions">
                            <Columns>
                                <px:PXGridColumn DataField="RowNumber" Width="80px"></px:PXGridColumn>

在这一切之后,我在我的页面上看到了如下的采购订单:

第二种情况非常类似于这里首先描述的情况,只是不同之处在于您不需要扩展任何内容。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47181974

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档