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

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

채택된 답변

mizuki
mizuki 2016년 11월 10일
편집: mizuki 2016년 11월 10일
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개)

카테고리

Help CenterFile Exchange에서 Get Started with MATLAB에 대해 자세히 알아보기

제품

Community Treasure Hunt

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

Start Hunting!

Translated by