皆さんこんにちは、
以下の問題を解決するためにあなたの助けが必要です(添付コード)。
1。ユーザーが情報を入力できるウィジェットがあり、[送信]ボタンをクリックすると、データが事前定義されたデータテーブルに正常に保存されます。ただし、ウィジェットの表示テーブルを更新することはできません。
2。たとえば、ユーザーが5行のデータを送信し、2行目が誤って転写されると、「削除」ボタンを作成したいのですが、正しい行を選択して(ウィジェットで)削除する方法がわかりません。
data_input = Expr(
dt = New Table( "Data Table",
Invisible,
New Column( "Sequence",
Numeric,
Formula(Sequence(1,99,1))
),
New Column( "Col1",
Numeric,
"Continuous",
Format( "d/m/y h:m:s" ),
Input Format( "d/m/y h:m:s" ),
),
New Column( "Col2",
Character,
"Nominal"
),
New Column( "Col3",
Character,
),
New Column( "Col4",
Character,
),
New Column( "Col5",
Character,
"Nominal"
),
New Column( "Col6",
Character,
"Nominal"
),
New Column( "Col7",
Character,
"Nominal"
),
New Column( "Col8",
Character,
"Nominal"
),
New Column( "Col9",
Numeric,
Format( "h:m" )
),
New Column( "Col10",
Numeric,
Format( "h:m" )
),
);
);
buffer = Expr(
Data1 = {"A", "B", "C", "D", "E", "F"};
co1 = Data1[nw["t2"]];
);
graphic = Expr(
nw = New Window( " Records ",
<<MODAL></MODAL>
良い一日、
しゅう 、
これを行う方法はいくつかあります。
- dt <<レポートとして取得 、スクリプト作成者は追加ごとにレポートを更新する必要があり、削除の場合、スクリプトは選択された行を取得し、基になるテーブルから削除して表示を更新します。 レポートはテーブルから独立しており、スクリプト作成者がビューを管理します。
- dt <<新しいデータボックス() ビューはデータテーブルにリンクされます。したがって、行を削除または編集するには、ユーザーはそれを削除または編集するだけです。
を使用してテーブルボックスを作成する別の方法があります DataTableColBox() ただし、JMPに報告したGet Selected Rows()を使用するとエラーが発生しました。
最初のメソッドdt << Get As Reportを使用して、スクリプトの修正バージョンを添付しました。 いくつかの注意点に注意してください:
- << Modalおよび<< Return Resultsをコメントアウトすると、非表示のテーブルが結果のようです。
- 表示テーブルにVScrollBox()コンテナを追加しました
- 選択した行の色を赤にしました(下のスクリーンショットを参照)
