haven’t tried, but…
nevermind this idea as prop name is not dynamically evaluated
wonder whether set-property would eval an expression like
gridModel.columns[gridModel.columns.findIndex(c => c.field === "JobNum")].title = "JOB NUM";
with the property-set component:
- Enter the grid component id
- Property:
gridModel.columns[gridModel.columns.findIndex(c => c.field === “JobNum”)].title
“JOB NUM”
where “JobNum” is the BAQ field name and “JOB NUM” is the new column header display name.

However, you may be able to overwrite the entire columns array like:
with the property-set component:
- Enter the grid component id
- Property:
gridModel.columns
Value:
"#_ (function(cols) { var idx = cols.findIndex(c => c.field === 'JobNum'); if(idx !== -1){ var copy = cols.slice(); copy[idx] = Object.assign({}, copy[idx], { title: 'JOB NUM' }); return copy; } return cols; })(gridModel.columns) _#"
- surrounding with “#_ _#” makes the expression eval as javascript
- the function replaces the columns array with a copy of itself except for substituting the title of the JobNum field. looks like this well formed:
(function(cols) {
// Find the index of the column where the 'field' property is 'JobNum'
var idx = cols.findIndex(c => c.field === 'JobNum');
if (idx !== -1) {
// Create a shallow copy of the columns array to avoid mutating the original
var copy = cols.slice();
// Create a shallow copy of the found column and update its 'title' property
copy[idx] = Object.assign({}, copy[idx], { title: 'JOB NUM' });
// Return the modified columns array with the updated title
return copy;
}
// If no column with field 'JobNum' is found, return the original columns array unchanged
return cols;
})(gridModel.columns)
Before:
{
"columns": [
{
"field": "Company",
"title": "Company Name"
},
{
"field": "Part_PartNum",
"title": "PartNum",
"width": 250
},
{
"field": "JobNum",
"title": "JobNum",
"width": 80
},
{
"field": "Customer",
"title": "Customer",
"width": 80
}
]
}
After:
{
"columns": [
{
"field": "Company",
"title": "Company Name"
},
{
"field": "Part_PartNum",
"title": "PartNum",
"width": 250
},
{
"field": "JobNum",
"title": "JOB NUM",
"width": 80
},
{
"field": "Customer",
"title": "Customer",
"width": 80
}
]
}
No idea if this will work, but give it a try and let us know.