uitableで指定のセルを表示する方法

6 Ansichten (letzte 30 Tage)
sekkyryo
sekkyryo am 10 Nov. 2016
Bearbeitet: mizuki am 10 Nov. 2016
guideでuitableとedittext,pushbuttonを作成しています。uitableはn×1のデータで、各セルに文字列が入っています。
私が行いたいことは以下の通りです。
・edittextに文字を入れてpushbuttonを押すと、edittextの文字列と一致するuitableのセルを探す。
・上記のセルがある場合、そのセルを選択orスクロールを動かして表示する。
(複数存在する場合は最初に見つけたセルに対して行う。)
このような動作を作成することは可能でしょうか。
MATLABのバージョンはR2011bです。
以上になります。よろしくお願いいたします。

Akzeptierte Antwort

mizuki
mizuki am 10 Nov. 2016
Bearbeitet: mizuki am 10 Nov. 2016
uitable の機能には 選択しているかしていないかが分かるプロパティがないため、カーソルを動かすことができません。
代わりに、該当するセルの文字をハイライトするのではいかがでしょうか。
edittextに文字を入れてpushbuttonを押すと、edittextの文字列と一致するuitableのセルを探す方法としては、pushbutton のコールバックに以下の様な文字列比較のコードを入れました。
allstr = get(handles.uitable1, 'Data');
str = get(handles.edit1, 'String');
idx = strcmp(allstr, str);
uitable1 の文字列 あいうえお と edit1 の文字列を比較しています。
もし検索して一番初めの一致のみが欲しい場合は strcmp の代わりに find 関数を使用します。
ハイライトについては以下ページを参考にしてHTMLタグを追加しました。
詳細については添付 guide_uitable_ex.m をご確認ください。
  2 Kommentare
sekkyryo
sekkyryo am 10 Nov. 2016
mizukiさん、ありがとうございます。
GUIDEだと動かせないんですね。理解しました。
となると、mizukiさんがおっしゃる通り別のアプローチを考えたほうがよさそうですね。
listboxのプロパティ"Value"と同様なものをuitableにもつけてほしいですね。
mizuki
mizuki am 10 Nov. 2016
Bearbeitet: mizuki am 10 Nov. 2016
GUIDE も含めて、uitable の機能として入っていない状況です。 以下のように java の機能を使えばできそうですが、正式サポート機能ではないので私からの回答は控えさせてください。
おっしゃる通り、選択したセルが簡単に分かる機能は欲しいですね。
現在 GUIDE に代わる機能として AppDesigner という機能が出てきていますので GUIDE では難しいかもしれませんが、AppDesigner での要望リクエストは可能かと思います。

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Develop Apps Using App Designer finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by