2017-11-08 8 views
2

Acumatica 그리드에 행 번호를 표시하는 방법이 있습니까? LineID를 표시 할 수 있습니다. 그러나 열을 정렬 할 때 LineID가 당황하게됩니다.
1. 당신은 당신이 경우 1의 화면
Acumatica - 행 번호 표시

에 행 번호를 추가 할 필요가 기존 화면
2로 행 번호를 추가해야합니다 : 두 가지 경우가 있습니다

+0

기존 화면에 직접 줄 번호를 추가 하시겠습니까? –

답변

2

감사합니다, 페이지 번호 po301000에 행 번호를 추가하고 문서 상세 정보 탭을 고려하십시오. 퍼즐의
DataMember Transactions
두 번째 부분은 당신이 확장해야 그래프입니다 : 당신이 스크린 샷 조각에서 볼 수있는 탭 문서 세부 그리드는 DataMember를 거래에 바인더 제본된다. 스크린 샷에서 볼 수 있듯이 PX.Objects.PO.POOrderEntry를 확장해야합니다. graph for extension

세 번째 부분은 POLine을 확장하는 것입니다. 당신은 코드의 다음 샘플을 얻을 수 있습니다

public class POLineExt : PXCacheExtension<POLine> 
{ 
    public abstract class rowNumber : IBqlField 
    { 

    } 

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

과 같은 그래프를 확장 :

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; 
    } 

그리고 마지막 부분, 당신이 당신의 페이지에 사용자 정의 열을 추가해야합니다을 :

: 나는 내 페이지 구매 주문에 다음 보았다이 모든 후

<px:PXGridLevel DataMember="Transactions"> 
          <Columns> 
           <px:PXGridColumn DataField="RowNumber" Width="80px"></px:PXGridColumn> 

두 번째 경우는 처음에 설명한 것과 매우 유사합니다. 차이점은 무엇이든 확장 할 필요가 없습니다.

+0

멋진 가상 필드도 있습니다. 감사 –