You should use a Print String node out of the Row Not Found pin from the Get Data Table Row node (3rd screenshot), just to debug whether the data table is finding your item in the first place.
Also, I just noticed you were using a Uniform Grid Panel widget for your inventory item. Uniform grid works by using Row and Column indices. What might be happening is that your new widget is correctly added to the grid, but all item widgets are stacked on top of each other (at the same row and column). You can try it in the editor directly by dropping new widget to the grid panel: they all stack on top of each other, you have to select them and use the arrays to move them to different columns/rows.
Instead of using Add Child (3rd screenshot), use Add Child To Uniform Grid, it will let you set the row and column of the new widget directly, to make sure it doesn’t overlap with an existing one. This means you might need to update your logic to manage all items of your grid.
If it’s a classic inventory system, I imagine you can create all the slots widgets from the beginning, in the editor, and just update the slots when an item changes, instead of creating a new one.
I’ve never done an inventory system like this so there are surely some best practices and tips, many game use this. Maybe someone else with more experience can chime in.