Your Privacy Matters: We use our own and third-party cookies to improve your experience on our website. By continuing to use the website we understand that you accept their use. Cookie Policy
175
Igx-Hierarchical-Grid - Adding Custom Styles on Cell Edit and Keeping the Styles Applied on Row Expansion
posted

I am trying to add a Visual Indicator to any cell that is edited but hasn't had the corresponding change saved to our database.  I'm using the onCellEdit event to apply a custom 'edited-border' class that is changing the cell border to a 2px black or white dashed border depending on theme.

To do this dynamically, I am doing something like below which is tied to the onCellEdit event on my row-islands and heirarchical-grid html elements:

editDone(event){

   if(event.newValue !== event.oldValue){

       var cell = event.owner.getCellByKey(event.rowID, event.owner.columns[event.cellID.columnID].field);

       cell.nativeElement.classList.add('edited-border');

   }

}

The above code works just fine, until I start expanding rows to view child grids.  So for example if I were to have two entries in a Heirarchical grid, if I were to edit any field on the bottom entry, the style would apply.  If I were to then open up the child grid of the top entry, the style would then disappear.  As far as I can tell, it looks like the grid is changing the bottom row's style to match the odd row styling which removes any existing classes I have applied.  When I close the opened child grid, the 'edited-border' style will actually come back, so it looks like it is at least holding the original classes somehow.

How would I go about applying the edited-border class when a rowExpansion occurs? I thought about maybe holding onto every Cell I edit and trying to reapply, the problem I have is I can't figure out what event to use.  It doesn't look like there is an onRowExpansion event I can use.

We are using Ignite Angular v8.2.2.

Any insight would be appreciated,

Thanks,

-Randall

Parents Reply
  • 40
    Offline posted in reply to Randall Blevins

    Hello Randall,

    I would kindly suggest you to make sure to have got acquainted with the topics on our Batch editing features, check either the Hierarchical Grid’s one, or the Data Grid’s and review the samples on the topic. To enable the feature, one has to import all providers and add rowEditable to the grid’s opening tag.  The way it works is by submitting a value to a transactions array, which keeps an eye on how has a row with a certain ID changed, what’s the new data and what type does the transaction have. After the Commit button gets clicked, the array, holding all the transaction is being persisted to the data source.

    If you want me to help you with a custom scenario where the feature is being used in a different way than what’s suggested in our topics, I would kindly ask you to send me a sample of your application, or to edit and send me one of the Stackblitz samples provided in our topics. Otherwise it’s too hard for me to determine what for a problem you have, to reproduce it and to give you a solution.

    Also, please mind that you are free to implement any custom behavior on our products, or customize our features to best suit your requirements. But in this way, you risk that your code affects another part of your application, which uses our components. That’s why I’d not suggest you to go too far in modifying the product. Instead, stick to our features as close as possible to ensure a higher maintainability.

    If you still want your custom solution though, please send me a working sample of your application with all the issues you are wishing me to help you with.

    Best regards,
    Petko

Children