Names Default To Here(1);
If(N Table() == 0,
stop(); // display error message to user if necessary
);
dt = Current Data Table();
nw = New Window("Enter search regex",
<<modal,
<<return result,
V List Box(align("center"),
Panel Box("Input search regex",
userinput = Text Edit Box("",
<<Set Script(
okBtn << Click()
)
, <<set width(400)
, << Set Hint("search regex...")
)
),
Lineup Box(N Col(2),
okBtn = Button Box("OK"),
Button Box("Cancel")
)
)
);
If(nw["Button"] != 1,
stop();
);
inputRegex = nw["userInput"];
If(IsMissing(inputRegex),
stop(); // empty regex
);
selCols = dt << Get Selected Columns("String");
If(N Items(selCols) > 0,
col = selCols[1];
,
col = Column(dt, 1) << get name;
);
selrows = Eval(EvalExpr(
dt << Get Rows Where(!Is Missing(Regex(Expr(NameExpr(As Column(dt, col))), inputRegex, "1", IGNORECASE)));
));
If(N Rows(selrows) == 0,
stop(); // display error message if necessary, this could also be done already within modal window (<< On Validate), if you wish to let user perform new search
);
dt2 = dt << Subset(Rows(selrows), Selected Columns(0), Link to original data table(1), Output Table(""));
// dt2 << Select Rows(1::NRows(dt2)); // to select rows if necessary
Names Default To Here(1);
If(N Table() == 0,
stop(); // display error message to user if necessary
);
dt = Current Data Table();
nw = New Window("Enter search regex",
<<modal,
<<return result,
V List Box(align("center"),
Panel Box("Input search regex",
userinput = Text Edit Box("",
<<Set Script(
okBtn << Click()
)
, <<set width(400)
, << Set Hint("search regex...")
)
),
Lineup Box(N Col(2),
okBtn = Button Box("OK"),
Button Box("Cancel")
)
)
);
If(nw["Button"] != 1,
stop();
);
inputRegex = nw["userInput"];
If(IsMissing(inputRegex),
stop(); // empty regex
);
selCols = dt << Get Selected Columns("String");
If(N Items(selCols) > 0,
col = selCols[1];
,
col = Column(dt, 1) << get name;
);
selrows = Eval(EvalExpr(
dt << Get Rows Where(!Is Missing(Regex(Expr(NameExpr(As Column(dt, col))), inputRegex, "1", IGNORECASE)));
));
If(N Rows(selrows) == 0,
stop(); // display error message if necessary, this could also be done already within modal window (<< On Validate), if you wish to let user perform new search
);
dt2 = dt << Subset(Rows(selrows), Selected Columns(0), Link to original data table(1), Output Table(""));
// dt2 << Select Rows(1::NRows(dt2)); // to select rows if necessary