[Index.js]
let grid: Grid = new Grid(
{
dataSource: orderDetails,
allowPaging: true,
allowSorting: true,
allowFiltering: true,
toolbar: ['Add', 'Edit', 'Delete', 'Update', 'Cancel'],
filterSettings: { type: 'Menu' },
editSettings: { allowEditing: true, allowAdding: true, allowDeleting: true },
columns: [
. . . .
{
field: 'CustomerID', foreignKeyField: 'CustomerID', foreignKeyValue: 'ContactName', dataSource: customerData,
width: 150, headerText: 'Customer Name', validationRules: { required: true }
},
. . . .
]
});
grid.appendTo('#Grid');
function valueAccess(field: string, data: Object, column: Object){
let fkData = grid.getForeignKeyColumns()[0].columnData; // get the foreignKeyColumn dataSource
let fkValue = new DataManager(fkData).executeLocal(new Query().where('CustomerID', 'equal', data['CustomerID'])); // find the value based on CustomerID from fkData
return fkValue[0]['ContactName']; // return ContactName value to the CustomerID column
}
|