New table component missing features from legacy table

Thanks for sharing those use cases here @yiga2!

It sounds like, for 1, people using your app need to be able to identify specific groups of rows, or outliers, quickly while staying within the context of the larger dataset - is that right? Is that so they can quickly switch between different groupings, or for comparison, or something else?

For 2, is it possible to use one of the selected row properties to identify the currently active row? There are actually quite a few that offer different portions of the data: selectedRow, selectedSourceRow, selectedRowKey, or selectedRowDataIndex but I know that people have requested click handlers to be separated from row selection in the past.

Thanks for adding your perspective here as well @jclutterbuck!

These are very valid use cases and they're definitely things for the dev team to consider. More support for filtering is also something coming soon. In the meantime, there's a post here from Alexi on a potential workaround you can use with the new table.

@bradlymathews that's certainly an interesting idea! I personally don't know how feasible it is but can see it being useful :thinking:

As for the currentRow issue @ryanm - the currentRow and currentSourceRow variables currently don't autocomplete in the "Go to app" handler of action buttons and might throw a linting error but they should still work. Can you let me know if that's not the case? This is something currently being tracked and will get looked into!

Again that you all for your feedback here, the folks working on the new table are also reading these posts. It's great to see so many people chiming in on this thread :grinning:

As a last note, I just want to clarify that the legacy table will be around for a while! The new table has been in various stages of beta before this release, and while it might not be a complete replacement yet, it functions really well as its own component. I know I'm personally very excited to have people start to use the new table because it offers a lot of options and improvements in certain cases. The dev team understands that it's really important to bring the new table into more feature parity with the legacy table before doing something like deprecating it, and in the meantime, hopefully folks will benefit a lot from being able to use both.

5 Likes

Thanks for keeping us posted @Kabirdas, I look forward to these fixes/improvements!

Thx @Kabirdas for the answer.
For 1, I am not so much concerned about row-coloring (nice to have, I use that for alternate-coloring like a ledger-style, gray, blank, gray, blank,... Very useful if table takes up most of the canvas). My comment was specifically for column-coloring, and cells (conditional).

For 2, selected-whatever only works for single select, not multiple. But Cell click event should tell the underlying value (self?). My comment was more about the inability to change another field on the same edited row, or "bring back" the value to set from a modal, without having to set (reset actually) the whole table source.
This is not unique to New table as legacy lacks that too so is out of scope of this discussion (while a big deal for us as setData for every change is very inefficient for large tables).

Eager to see future improvements though !

Adding allowing single-clicking to edit cells.
Legacy allows both single- and double-clicking to edit. New requires double-clicking with no other option. Quite annoying if lots to edit.

1 Like

Hi @Kabirdas,

Just chiming in on the discussion regarding column and cell colouring. I'm agreeing with @yiga2 that this is a great way to highlight any important information such as outliers in a table with a lot of data.

I understand that the Retool team is working towards feature parity with the old table, but can you give some insight if you're considering adding column and cell colouring to the new table?

Thanks for your time!

Hey @avr!

Coloring is being considered, the dev team is particularly interested if there are any other features they could include that would fit the same use cases in an attempt to prioritize features that enable more accessible design patterns. So, the more information they can hear about your use case the better! Especially, if you've considered other patterns, which of those might not be available in Retool, and why you're choosing color-coding in particular.

Also, thanks for surfacing the issue of having edits made through a separate component persist without being saved @yiga2. It's something that has come up a number of times before (one recent example) and the workarounds can be a bit tricky. Admittedly, though I've seen people ask for it, I'm not super familiar with all of the reasons why they are :sweat_smile: would you mind sharing a bit more about how it's useful for you?

For the issue with multi-select, the new table has unique properties for the collection of rows that have been selected as well as the most recently selected row. They are, respectively, selectedRows/selectedSourceRows (purple) and selectedRow/selectedSourceRow (orange):

Also, single-click to edit cells should be possible as long as single-cell selection is turned off.

2 Likes

@Kabirdas as explained before, conditional cell color-coding is useful to convey additional info. In our case, we show a tax amount and the color code tells if it's the original tax amount (no color) or if was adjusted/added through a later process (the color tells which one). Without color-coding, we would need add'l columns to convey that info.
Now, while the dev team is at it, in addition to picking what color, it could even go a step further by supporting data bars (preferred) or color scale - see in Excel.
Lastly, a cell-specific tooltip (when you hover over a cell, cell-specific context tooltip pops-up) is very useful to convey details that can't fit in a cell.

For cell edits pushed from other components, along with making edits "programmatically", I think I have found a workaround that works for me: see here My "solution" does refresh the table but from memory so supposedly fast. Net changes are still pushed down to db but with delay.
Will report back (in the other thread) if satisfactory.

Note, the latter solution does require single-cell solution to be on as it relies on selectedCell to get the row index and columnId. Hence it's catch-22: single-click possible but to a greater loss of functionality. So on this one too, it would be good if the option to explicitly choose single vs. double-click editing is brought to New table.

Hi, as a power retool user for 2 years now, I was really excited to now that the table component was redesigned from scratch.

The problem now is, the new table component really lacks some flexibility the old one had and I'll list them:

  • The ability to set the background color conditionally, this is something we use a lot to get the attention of the user when a value is out of our standards for example. This also allows us to have a easy visual queue of everything.
  • Disable sorting for columns when double clicked.
  • Set the text when empty.
    image

Also, it is very buggy, some cells wont print values, I have to refresh the site and it works.


and its emtpy:
image

I will like to take the opportunity to mention some features tables are missing for a long time:

  • Reordering row!! please!! I have a work around using a modal with a reorderable list but that component is simply... bad.
  • Colapsable details. Sometimes when a row is clicked it would be great to expand down some more information in order to avoid using a modal.

Thanks! keep us posted on the background thing!

5 Likes

Want to jump on this. I was excited to try out the new table, but 2 main things keep me from using it.

As others have said, coloring cells dynamically is essential for our use case. Highlighting when profit is positive vs negative is really really important with lots of data.
Other thing is dynamically setting the column order and visibility with an array. This is also essential as every user wants different columns to show up in different orders. The legacy table has this in Advanced Settings and Column Settings. Along this note, I also don't see where to sort column by a dynamic column. With the legacy table I could do this with a js query, which is useful.

I'm really excited to be able to use this as it seems faster and has more options, but until these features are added I just can't.

2 Likes

Want add a +1 to bring back conditional background coloring. My use case is I am summing groups of rows and having the summed row be a different color really helps the UX.

Use case I am attempting to duplicate:

2 Likes

the new table component was announced today again but still no luck with the conditional background color!

1 Like

+1 on the background color for cells

1 Like

I recently noticed that there is a "group" rows facility in the new table. Which feels like it has potential, but it would be awesome (?) if we could add summary info to the group header rows? Like the sum, or max/min or some other JS? Not sure if what I'm asking/suggesting is possible/easy/hard or of interest to anyone else.

Yeah, I have been playing with that!

And yes, this summary section is needed, has been requested and has been acknowledged as on its way. Yay!

1 Like

Yes, sorry I've juse seen the "announcement thread" for the new table component which covers this - I'm a few days behind, as always.

Coloring is being considered, the dev team is particularly interested if there are any other features they could include that would fit the same use cases in an attempt to prioritize features that enable more accessible design patterns. So, the more information they can hear about your use case the better! Especially, if you've considered other patterns, which of those might not be available in Retool, and why you're choosing color-coding in particular.

I use a mixture of colour coding and types of columns to what best suits the situation.
I have considered using tag columns but this can take up valuable table width if it can be reasonably represented by a simple row colour! There's also a visual element of scanning left and right with your eyes. I also have changed the colour of the text, by row, according to the data using the HTML type, but is it right that I cannot edit the data in cell with that type?

I've also always wanted to change the border colour of a cell according to the data. This is a really cool functionality of Excel conditional formatting (although not Google sheets :frowning:)

It's would also be useful to be able to change the colour of the text while keeping the data type, e.g. time or date columns (which have other features) but still be able to change the colour of the text (dynamically) and not have to use HTML.


I hope this is helpful.

Thanks

Jeremy

I have just tried this and now it is obvious why it doesn't work for this situation: For my use case we have Objects (a product or service), and each Object has a Type. I filter the entire array of types according to which Object it is. However, using selectedRow only the data in the selectedRow appears (or other rows which are the same object).

Also...

Is the Action always "icon only"? No text label? Always hidden until hover over row?

It's not always obvious that Actions are available. :frowning:

1 Like

Today I've been playing with the new table component and I noticed that with server-side cursor pagination you can't set the "Total row count" anymore. Our cursor pagination based responses contain a total that we'd like to show in the table. The legacy table component does have this option but the new table component doesn't have this anymore it seems.

Came to here to ask the same question as @arjan. Kinda stuck not being able to move pages and dynamically update my API query.

Background
API call returns data for table, but also in headers includes info for total records and total pages. In the old table, I'd be able to input this data for server-side pagination, but can't seem to find a way to do it in the new table.

Any guidance?

Hey folks!

Just want to cross-post this thread that has a lot of the most recently released features for the new table in case anybody here has missed it. Of particular note is the new status indicator add-on!

Adding the total row count for cursor based pagination is also something that's being explored @arjan and @vinnie, thanks for the feedback here :slightly_smiling_face:

It sounds like you may be having more extensive issues than just display the row count @vinnie, am I understanding correctly that you aren't able to paginate at all with cursor based pagination? Would you be up for discussing the issue more in-depth in a dedicated thread?