Which horizontal component? Linking to what you found helps others know where you’re at.
In general, decouple updating the UI from updating the database. Update the UI first by removing the row from the list of rows you used to populate the repeating panel, then make a silent server call to update the database. From the user’s perspective they’ll see the deletion immediately. If they try to delete something else right away, it’ll delay until the previous server call completes, so it depends on usage patterns whether that’s enough or not.
If they’re going to delete a bunch of items in quick succession, you can put those into a list of items to delete, and give them an Apply button that makes the server call for all of the items they deleted.
Yeah, I don’t think that component helps you much. Repeating panels work by taking a list of dictionaries, and displaying each dictionary in a row (or a cell for the horizontal one). You want a combination, where X rows are displayed horizontally, and then going vertically for each set of rows. I haven’t seen anyone do anything like that, and a repeating panel won’t.
You’d need to build a component designed for doing that. It might involve a repeating panel as part of the implementation, but you’d need to group X rows into a single dictionary for the repeating panel to treat as a single row, and then display those X rows in something else (a flow panel, maybe?).