Changing column name dynamically

前端 未结 2 721
名媛妹妹
名媛妹妹 2021-01-16 23:34

I have a Header / Detail custom screen where I\'m manipulating which grid columns display based on a dropdown selection in the header. This works fine, but now I\'d like to

相关标签:
2条回答
  • 2021-01-17 00:25

    You can refer below example to dynamically change Grid Column Header.

    Below example works with Screen PM401000 – Project Transactions Inquiry

    public class TransactionInquiryExt : PXGraphExtension<TransactionInquiry>
    {
        public void TranFilter_RowSelected(PXCache cache, PXRowSelectedEventArgs e, PXRowSelected baseInvoke)
        {
            if (baseInvoke != null)
                baseInvoke(cache, e);
    
            PX.Objects.PM.TransactionInquiry.TranFilter row = e.Row as PX.Objects.PM.TransactionInquiry.TranFilter;
    
            if (row == null) return;
    
            PXUIFieldAttribute.SetDisplayName<PMTran.description>(Base.Transactions.Cache,
                row.ProjectID.HasValue ? "Description for Project Tran" : "Description");
        }
    }
    

    Make sure to set RepaitColumns property to True of PXGrid Control.

    0 讨论(0)
  • 2021-01-17 00:26

    Your display name routine looks correct however to make sure the column names actually update you need to do the following:

    • In the page source, you need to set the "RepaintColumns=true" value on the grid. This can be done via customization manager or directly from your ASPX source. - This tells the grid to refresh the columns after a callback allowing the headers to actually redisplay.
    0 讨论(0)
提交回复
热议问题