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

 채택된 답변

mizuki
mizuki 2016년 11월 10일
편집: mizuki 2016년 11월 10일

3 개 추천

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

sekkyryo
sekkyryo 2016년 11월 10일
mizukiさん、ありがとうございます。
GUIDEだと動かせないんですね。理解しました。
となると、mizukiさんがおっしゃる通り別のアプローチを考えたほうがよさそうですね。
listboxのプロパティ"Value"と同様なものをuitableにもつけてほしいですね。
mizuki
mizuki 2016년 11월 10일
편집: mizuki 2016년 11월 10일
GUIDE も含めて、uitable の機能として入っていない状況です。 以下のように java の機能を使えばできそうですが、正式サポート機能ではないので私からの回答は控えさせてください。
おっしゃる通り、選択したセルが簡単に分かる機能は欲しいですね。
現在 GUIDE に代わる機能として AppDesigner という機能が出てきていますので GUIDE では難しいかもしれませんが、AppDesigner での要望リクエストは可能かと思います。

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터 및 File Exchange에서 Genomics and Next Generation Sequencing에 대해 자세히 알아보기

제품

질문:

2016년 11월 10일

편집:

2016년 11월 10일

Community Treasure Hunt

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

Start Hunting!

Translated by