タップされたITEMの順位番号、 レコード内容等を取得したいのですが、 どのようにしたら可能でしょうか?
説明不足ですいません。 androidスマホ対応の1ヶ月毎の縦型万年カレンダーをLISTVEWを使って以下のように表示させています。
例えば"6/2"の表示部分をタップしたとき、当該ラインのライン番号、表示している文字等を取得したいのです。
月単位でそのつど表示させています。
外部からのデータの読み込みはありません
6/1(月)
6/2(火)
6/3(水)
6/4(木)
・
・
よろしくお願いいたします。
試しておりませんが、
TListView.OnTapイベントではなく、TListView.OnItemClickイベントで、
procedure TForm1.ListView1ItemClick( const Sender : TObject; const Item : TListViewItem );
と、該当ラインのItemが渡されますから、
Item.Index、Item.Text、Item.Detail、Item.Checked等で取得できませんか?
ご指摘の通り、TListView.OnItemClickに変更して以下の通り試しましたら、必要な情報を取得出来ました!有り難うございました。
procedure TForm1.ListView1ItemClick(const Sender: TObject;
const AItem: TListViewItem);
var
Li: TListViewItem;
begin
Li := listview1.items[Listview1.ItemIndex];
showmessage('Calender '+Li.Text+' Item No. '+Inttostr(Listview1.ItemIndex+1));
end;
引き続きの質問なのですが、逆に クリックした itemに文字列を追加することは可能でしょうか?
スケジュール表作成を目指しております。
引き続きよろしくお願いいたします。
たとえば、 上記 item "6/2(火)"の文字列に " 今日は東京" の文字列を追加して表示させたいのですが。。
試していませんが、
Li.Text := Li.Text + '今日は東京';
では、ダメですか?
ちょっと説明不足ですみません。
procedure TForm1.ListView1ItemClick( const Sender : TObject; const AItem : TListViewItem );
begin
// クリックされた行番号を格納
Caption := AItem.Index.ToString;
// クリックされた行の文字列に「今日は東京」の文字列を追加
AItem.Text := AItem.Text + '今日は東京';
end;
これで出来ませんか?
AndroidとiPhone共に動作を確認しました。
いつもお世話様です。ご連絡ありがとうございます。
帰宅後動作確認させていただき、 ご返信いたします。
よろしくお願いいたしますm(__)m
igy様、KONNAYA様
ありがとうございます。ばっちりです!!
I=I+1 の文字列版ですね!
何か特殊な処理が必要かとおもっていました。
すっきりししました!
お陰様で解決しましたので、一度クローズさせていただきます。 引き続きまたよろしくお願いいたします。
ツイート | ![]() |