Unable to hide columns in Perspective Table

I must be doing something wrong here, but I don’t see what it is. I have a column view in Perspective, and a Table component with a named query on the data binding. There are several UUID columns that I need to be in the data, but I don’t want them displayed to the user. Here is what I have tried.

  1. Created a “column” property for every visible column (and did not create the property for the UUID columns).
  2. Created the “column” property for the UUID columns and set Visible to False.
  3. Set the column width to 0.
  4. Tried it with strictWidth as both True and False.

In all cases, these columns are visible in the Designer and on the client-facing page. Is there something I’m missing?

What is the name of the UUID column in your data object or dataset? Did you supply a case-sensitive match as the columns[x].field property value?

As a quick example:
Suppose I am dealing with the default data of the table (the data present when you drag the table into a View), and I want the “country” column to remain in my data, but I don’t want to display it.

Solution:
I add three entries into the columns array, and I specify one of these new columns to have a field property value of “city”, one to have “country” and one to have “population”. For the column configuration which I have created for “country”, I also set visible to value of `false.

Result:
The “country” column is still in my data for the row and can be used by subviews or any mechanism which would use the row’s data, but that column is not displayed in the table. Note that this entire example is dependent on the field property matching exactly to the name of the column in the data object (or the column of the dataset).

1 Like

Thank you for the reply. Indeed, the “field” property of the “columns” array member does match the column name, and both are all lowercase (the names are id, item_id, style_id, and customer_id).

If you can supply the View in this thread or through direct message I’ll take a look and see what might be happening. Please remember to include the dataset itself within the view. This is best done by having your binding in place, copying the binding, then remove the binding (so that the data is static), copy the View at this point, and then paste the binding back in place. This will allow me to use the same data you have in place.

I figured it out! I had used the incorrect case for a different column, so I suppose the table component was unable to find the data for that incorrect name and substituted the data from a column I had marked invisible. Thank you for pointing out the case sensitivity!

1 Like