You can definitely use TableView for this, it just needs a bit of plumbing:
using Blink, TableView
w = Blink.Window();
x = rand(10,10)
function update_cell(arr, msg)
row = msg["row"] + 1 # zero-indexed in JS
col = parse(Int, match(r"Column(\d+)", msg["col"])[1])
arr[row, col] = parse(eltype(arr), msg["new"])
end
body!(w, TableView.showtable(x, cell_changed = msg -> update_cell(x, msg)))
This will obviously only work for concretely-typed arrays of numbers, but you can of course adjust it to whatever you want.
Feel free open an issue or PR at https://github.com/JuliaComputing/TableView.jl if you have ideas on how to make the whole experience smoother.
Edit: Fixed the row indexing.