open Dbgrid table t1 : {Id : int, A : string} PRIMARY KEY Id sequence s table t : {Id : int, A : int, B : string, C : bool, D : int} PRIMARY KEY Id, CONSTRAINT Foreign FOREIGN KEY (D) REFERENCES t1(Id) ON DELETE CASCADE fun page (n, s) = return A = {[n]}, B = {[s]} open Make(struct val tab = t con key = [Id = _] val raw = {Id = {New = nextval s, Inj = _}, A = {New = return 0, Inj = _}, B = {New = return "", Inj = _}, C = {New = return False, Inj = _}, D = {New = return 0, Inj = _}} structure F = Direct.Foreign(struct con nm = #Id val tab = t1 fun render r = r.A end) val cols = {Id = Direct.readOnly [#Id] ! "Id" Direct.int, A = Direct.editable [#A] ! "A" Direct.int, B = Direct.editable [#B] ! "B" Direct.string, C = Direct.editable [#C] ! "C" Direct.bool, D = Direct.editable [#D] ! "D" F.meta, DA = computed "2A" (fn r => 2 * r.A), Link = computedHtml "Link" (fn r => Go)} end) fun main () = grid <- grid; return {render grid}