文字列列ボックスまたは表ボックスの色を変更し、内容に下線を引きます。こんにちは、先週、以下のコードの同様のバージョンを投稿しました。現在、文字列 col box() / table box() の値を更新して青と下線を付けて、ハイパーリンクのように見せようとしています。 table box << text color() コマンドは機能しませんでしたが、文字列 col box << text color() は機能します。 以下の例の列のヘッダー「名前」の色が変わらないようにする方法はありますか?下線を引く値を設定する方法はありますか?
ありがとう
マイク
Names Default To Here( 1 );
//dummy data table
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
// create a list of columns. In the example table, the first 4 columns are categorical index columns, so we'll use 20 columns starting at column 5 (4 + i)
colList = {};
for( i = 1, i<=20, i++,
colList[i] = as column(dt, 4 + i) << get name();
);
// new window, table box with selectable rows
nw = New Window( "Example",
vlb = vlistbox(
mainOlb = Outline Box( "Table", // used for referencing scrolling back to top
tb = Table Box(
scb = String Col Box( "names", colList ), // scb will be used later to color in blue to indicate it is a pseudo-hyperlink
<<SET selectable="" rows=""> 0,
nw << scroll window(cb[itemNum[1]]);
);
)
);
</SET>JMP 標準バージョン 16.2.0
スクリプティングRe: 文字列列ボックスまたは表ボックスの色と下線を変更します。ピーター、ありがとう。 素晴らしい発表で、大変参考になりました。
Re: 文字列列ボックスまたは表ボックスの色と下線を変更します。ジャスティン・チルトンと私は、ディスカバリー 2018 サミットでコルボックスを含む講演を行いました。
JSL でユーザー インターフェイスを強化する ( US 2018 113 )
Re: 文字列列ボックスまたは表ボックスの色と下線を変更します。ジャルモさん、ありがとうございます。動作に関するヘルプと洞察に感謝します。
Re: 文字列列ボックスまたは表ボックスの色と下線を変更します。Col Box を「正しく」ビルドすることで、クラッシュを回避できるはずです。 私の記憶が正しければ << append は機能しましたが、 << Set は使用できません。以前、その件でサポートに連絡したことがあります。 この問題は JMP17 で修正される予定です。
私が彼らに提供した私の例はこれです(これは JMP16 をクラッシュさせます):
Names Default To Here(1);
stop(); // THIS WILL CRASH JMP
nw = New WindoW("",
Table Box(
cb = Col Box("icons",
Icon Box("Excluded"),
Icon Box("Excluded"),
)
)
);
cb << Set({"a", "b"});
したがって、Col Box を使用して value を置き換えたい場合は、常にそれを再構築します。
Re: 文字列列ボックスまたは表ボックスの色と下線を変更します。やあ@jthiお手数をおかけして申し訳ありませんが、コル ボックスの作成時に JMP がクラッシュするという部分について、あなたまたは JMP チームの誰かが詳しく説明してくれることを期待していました。 そのような行動を避けるためのヒントはありますか?
Re: 文字列列ボックスまたは表ボックスの色と下線を変更します。JMP のクラッシュについて詳しく教えてください。それは予測可能ですか、それとも col box() 内の多数のアイテムで発生しますか?任意の数のパラメーターがプロットされる可能性のあるスクリプトで使用される可能性が高いため、多くの場合、これを避けたいと思います。 数プロットから千程度までのどこでも。
Re: 文字列列ボックスまたは表ボックスの色と下線を変更します。コルボックスを使用することには他にもいくつかの欠点があります。たとえば、値を取得するのがより難しく、コルボックスを構築するときにJMPがクラッシュすることがあります...しかし、文字列コルボックスのタイトルの色を変更する簡単な方法は知りません<<すべての要素の色を変更するテキストの色。
Re: 文字列列ボックスまたは表ボックスの色と下線を変更します。ありがとうジャルモ。 確かに見栄えは良くなりますが、右クリックして「データテーブルにする」ことができないという欠点がありますが、その機能はそれほど重要ではないと思います.
ここにこれらの 2 つの質問を入力しましたが、自分で答えただけです...テキストを青に変更しているコードは何ですか?また、ボタン ボックスがテキストのみで表示され、「戻る」の例のように通常のボタンではなく表示されるのはなぜですか?答えはあなたの << Underline Style(1); です。これらの両方を行います。 ボタンボックスの代替表示のようです。 共有してくれてありがとう、私はそれについて知りませんでした。
Re: 文字列列ボックスまたは表ボックスの色と下線を変更します。String Col Box の代わりに Col Box を使用し、col ボックスでボタン ボックスを使用することもできます。
Names Default To Here( 1 );
//dummy data table
dt = Open( "$SAMPLE_DATA/Semiconductor Capability.jmp" );
// create a list of columns. In the example table, the first 4 columns are categorical index columns, so we'll use 20 columns starting at column 5 (4 + i)
colList = {};
for( i = 1, i<=20, i++,
colList[i] = as column(dt, 4 + i) << get name();
);
// new window, table box with selectable rows
nw = New Window( "Example",
vlb = vlistbox(
mainOlb = Outline Box( "Table", // used for referencing scrolling back to top
tb = Table Box(
scb = Col Box( "names", {}), // scb will be used later to color in blue to indicate it is a pseudo-hyperlink
)
)
);
);
For Each({col}, colList,
scb << Append(Button Box(col, << Set Function(function({this},
nw << scroll window(cb[Contains(colList, this << Get Button Name)]);
)), << Underline Style(1);
));
);
//append some distributions in their own context boxes, but keep a reference variable for the conext box cb[i].
cb = {};
for( i = 1, i <= 20, i++,
vlb << append(
cb[i] = contextbox(
distribution(column(4 + i)) // put the i'th distribution in context box[i]
)
);
vlb<<APPEND></APPEND>