Column not showing in Kinetic grid/personaliztion, is in data view

After a bunch of tracing javascript in the browser, I can confirm that any currency columns that are not in the “Doc” currency type will not show no matter what you try.

I have found a workaround by inserting a post-processing method directive on DynamicQuery.GetQueryResultSetMetadataByID. This allows you to trick the grid into thinking the loaded currency field is in the Doc currency and will keep it visible.

foreach (var row in result)
{
    var list = row.AttributeList.ToList();
    var currencyType = list.FirstOrDefault(o => o.Name == "CurrencyType");
    if (currencyType != null)
    {
        // "D" for Doc currency
        currencyType.Value = "D";
    }
    
    row.AttributeList = list.ToArray();
}
2 Likes