
The Editable Grid, or SData Grid in the Infor CRM (Saleslogix) web client is a dojo-based grid based on dgrid. This means that, for the most part, you can do just about anything with the editable grid that you can do with dgrid. In Infor CRM, there’s a few layers to the grid that you might need to deal with, depending on what you’re wanting to do. Some of them are a wrapper widget with an internally implemented grid. It gets tricky sometimes. However, for responding to a row selected event, it’s pretty straight forward.
For this example, we’ll respond to the row selected event of a grid of Opportunities. When a row is selected, we’ll retrieve the SData entity bound to the row. To do this, we’ll add the following to a LoadAction to wire up the event. The grid itself uses dojo/on and you just pass it an event it emits that you want to respond to. In our case it is the dgrid-select event. Let’s look at the code. Keep in mind, the code we’re adding to the LoadAction is C#, that creates a string of Javascript and registers that on the page.
var script = @" // checking to see if the grid has been created yet var intId = setInterval(function() { var oppGrid = dijit.byId('AccountOpportunitiesgrdAccOpportunities'); if (oppGrid) { // once it's created, stop checking and then wire the event clearInterval(intId); oppGrid.on('dgrid-select', function(event) { // This will fire when the row is selected // Retrieve the entity, which is the bound // entity for the row. in this case, the opportunity var entity = event.rows[0].data; // ... }); } }, 100); "; // Register the script ScriptManager.RegisterStartupScript(Page, GetType(), "scriptAccountOppGrid", script, true);
Pretty straight forward. Note, in the code, I retrieve the entity for the bound row. This entity will contain the properties that are bound as columns in the grid. You can add more to this entity by adding additional properties to the grid’s Select property. This way, the fields you need are available in the entity without the need to add more columns to the grid or do a separate SData call to retrieve them.
You can see a list of events emitted by the grid here: Working with dgrid events
Subscribe To Our Newsletter
Join our mailing list to receive the latest Infor CRM (Saleslogix) and Creatio (bpm'online) news and product updates!
You have Successfully Subscribed!