# FAQ

### How do I make it so my table isn't editable?

Simply add `"readOnly": true` to your default column settings. See more on how to set default settings [here](https://devopanda.gitbook.io/json-table-spreadsheet-like-excel/column-json-setup#default-settings).

### How to hide all columns that aren't defined in the Column JSON

Set the default value of "type" to "hidden". This way, any columns that aren't defined here will not be shown in your table. Note: The fields will still be exported in the JSON, just not shown in the table.

### What about hiding only specific columns?

Set the "type" to "hidden" for that specific column. See the columns sections [here](https://devopanda.gitbook.io/json-table-spreadsheet-like-excel/column-json-setup#column-types)

### How do I make it so only numbers are inputted?

Add a field for called "mask" and set it to "0". This make it so only numbers are able to be typed. See more options for masks [here](https://devopanda.gitbook.io/json-table-spreadsheet-like-excel/column-json-setup/masks-advanced-options).

```json
{
   "id": "amount",
   "header": "Amount",
   "type": "text",
   "mask": "0"
}
```

### How do I enable a time picker on calendars?

To enable time, you'll need to add a field for "options". In these options, you can add "time" and set it to "true". You can explore other options for calendars [here](https://devopanda.gitbook.io/json-table-spreadsheet-like-excel/column-json-setup/calendar-advanced-options).

```json
{
   "id": "date",
   "header": "Date",
   "type": "calendar",
   "options": {
      "time": true      
   }
}
```

### Can I use this to create new data within bubble?

Yes! This was one of the main uses I made this for. Bubble allows you to send a list of json directly to their API in order to create new data. To do this, you'll want to set up a call in the [API connector](https://manual.bubble.io/core-resources/bubble-made-plugins/api-connector) using the [/bulk endpoint](https://manual.bubble.io/core-resources/api/data-api#bulk-create-new-things) within your own app. Just make sure that the "id" in the column json matches the name of the field you want to add.&#x20;

### What about editing data?

Yes again! However, there's more involved with this one, so I made an example [here](https://json-table.bubbleapps.io/version-test/editing-things). ([View in the editor here](https://bubble.io/page?type=page\&name=editing-things\&id=json-table\&tab=tabs-1))

First, you'll need to find a way to convert your bubble data into JSON data. There are plenty of plugins out there that will do this for you, such as [jsoNest](https://bubble.io/plugin/jsonest-1558206028791x336433982900797440), however you can also do this yourself by using "formatted as text". You can see that in example I left above.&#x20;

Next, you'll need to set up a way to make the edits. Bubble has a ["patch" endpoint](https://manual.bubble.io/core-resources/api/data-api#modify-a-thing-by-id) that will let you update the data using their API connector. You can send the JSON to that to make the edits.&#x20;

Note: You may not want have this auto-update, since users may paste in multiple rows and change several items at a time. If this is the case, you may want to have a "save" button and send all the changes at once using a backend workflow.&#x20;

### When using masks, my "0" disappears&#x20;

This is a bug, but can be fixed by enabling "Replace quotes in results".


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://devopanda.gitbook.io/json-table-spreadsheet-like-excel/faq.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
