ホーム
|
アプリケーション | Tips | ダウンロード | プログラム
| コラム

CBアプリ工房


Tips >   

ListView の項目にアクセスできるか確認する 

更新 : 2009/12/17

 



解説:
ListView コンポーネントを使って、データを一覧表示していると、任意のアイテム名を取得したい状況がたびたび訪れます。必要なアイテムということで直接アクセスしたくなりますが、存在しないアイテムにアクセスするとエラーが出ます。
どのように回避すればよいのでしょう?

使用例:
例では、ListView コンポーネントの任意項目にアクセスしてアイテムを取得しています。

コンポーネントは、 ListView と Button を適当に配置するだけです。
例では、2 行目のアイテムを取得("b" が返ってきます)していますが、アイテムがない場合でもエラーはでません。

アイテムを取得しますので、 [カラムの設定] や [項目の設定] でアイテムを用意しておいてください。
今回は [カラムの設定] で name, address, memo を追加
[項目の設定] で、アイテム a, b を作り各々サブアイテムを、a1, b1, b2 としています。ViewStyle は vsRepot に設定。

サブアイテムも、同じように存在を調べてからアクセスすれば、取得できます。

//-------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    // 調べたいインデックス番号
    int num = 1;

    //取得したい Items があるか調べる
    if (ListView1->Items->Count > num)
        // 存在しない Items にアクセスするとエラーになる
        ShowMessage(ListView1->Items->Item[num]->Caption);
    else
        ShowMessage("アクセスできません。"); 
}
//-------------------------------------------------------------------



[ ホーム | ページトップ | ブック | リンク | サイトマップ ]
Copyright(c) 2003 Shibu All rights reserved.