如何在运行时更改 RadGridView 中的 header 文本?

How can you change on runtime the header text from a RadGridView?

如何在运行时更改 Telerik.WinControls .UI.RadGridView 中的 header 文本? header 文本中的年份必须是动态的...

这就是我想要的

这是我看到的结果(没有显示年份)...

        private void gvMyGrid_CellFormatting(object sender, CellFormattingEventArgs e)
        {
                if (e.CellElement.ColumnInfo.Name.Contains("_Current"))
                {
                    e.CellElement.ColumnInfo.HeaderText += "\r\n" + DateTime.Now.Year.ToString();
                }
                else if (e.CellElement.ColumnInfo.Name.Contains("_Prior"))
                {
                    e.CellElement.ColumnInfo.HeaderText += "\r\n" + (DateTime.Now.Year - 1).ToString();
                }
...
}

这就是解决方案。我没有将它放在事件中。但是我在构造函数中调用了该方法。 header 列在 Event CellFormatting 之前绘制。

    public MyFormView()
    {
        ...
        InitColumnHeaders();
    }

    private void InitColumnHeaders()
    {
        foreach (GridViewDataColumn column  in gvMyGrid.Columns)
        {
            if (column.Name.Contains("_Current"))
            {
                column.HeaderText += "\r\n" + DateTime.Now.Year.ToString();
            }
            else if (column.Name.Contains("_Prior"))
            {
                column.HeaderText += "\r\n" + (DateTime.Now.Year - 1).ToString();
            }
        }
    }