Does Adaptable Blotter require internet access? This is not something that we allow for our components.
No, it does not. Everything is contained in the single downloaded .js file and no external calls are made.
Do you use npm?
Yes we do. You can install Adaptable Blotter via NPM with the command:
npm install adaptableblotter
The package is here.
Do we have to use an underlying grid?
Yes you do. Adaptable Blotter sits on top of a number of different grid controls and adds extra functionality not provided by the grid. But it does not contain a grid itself. (We do offer our own basic HTML5 grid control that works very well with Adaptable Blotter, but its not as powerful our fully featured commercial vendor grids).
Why do we need to specify a Primary Key?
Because Adaptable Blotter knows nothing about the data in the grid, the only way that it can identify a cell in the grid is as a combination of Column Name and PK Value (i.e. for the cell for the Currency column where the Primary Key value taken from the Id column is 115). Primary Keys are also required for the Audit Log so we can identify which cell was updated. See Primary Key for more details.
Does the Primary Key column have to be unique values?
Yes it does - otherwise we wouldn't be able to to identify a cell as unique in the grid.
Can the Primary Key be 2 columns?
Not currently but its something we will potentially allow in the future.
Does the Primary Key need to be visible?
No, you can keep it hidden but it does need to be in the datasource so we can refer to it internally and also in the Audit Log.
Can you edit the Primary Key column?
Yes, the Adaptable Blotter allows it. If you dont want the Primary Key column to be editable then set it as readonly when you set up the Blotter.
AdaptableBlotter.JS will prevent you from adding a non-duplicate value to the Primary Key column - provided that the preventDuplicatePrimaryKeyValues in General Options is set to true (the default). Whenever you edit the Primary Key column the blotter will change that the new value doesnt already exist in the table.