• 締切済み

ListView

Borland C++Builderを使用しています。 ListViewにカラムを設定し,データをそれぞれ表示させたい のですが,やり方がわかりません。 ViewStyleはvsReportです。 何かサンプルプログラムを紹介したいただけませんか? よろしくお願いします。

みんなの回答

  • Caya
  • ベストアンサー率19% (9/46)
回答No.3

遅くなりました。#2の修正です。すみません //宣言 TListItem *pItem; //行のループ for(int nRow = 0; nRow < 10; nRow++) { //列のループ for(int nCol = 0; nCol < 5; nCol++) } //行の追加 pItem = ListView1->Items->Add(); //列のデータの追加 pItem->Caption = "キャプション"; ///////////ここを修正 pItem->SubItems->Add("サブアイテム"); } } です。

全文を見る
すると、全ての回答が全文表示されます。
  • Caya
  • ベストアンサー率19% (9/46)
回答No.2

ListViewにカラムの追加をする方法はいくつかありますが、ListViewのコントロール上で右クリックをし、カラムの編集で新規に追加、あるいは削除を行うことが出来ます。 プログラム上でカラムの追加を行いたいときは、 //宣言 TListColumn *pNewColum = ListView1->Columns->Add(); //カラムのテキスト pNewColum ->Caption = "カラム"; //カラムの幅 pNewColum ->Width = 200; の様にしてカラムの追加を行います。 さらに、データの追加は、 プロパティのItemsで設定するかプログラムで追加するには //宣言 TListItem *pItem; //行のループ for(int nRow = 0; nRow < 10; nRow++) { //列のループ for(int nCol = 0; nCol < 5; nCol++) } //行の追加 pItem = ListView1->Items->Add(); //列のデータの追加 pItem->Caption = "キャプション"; pItem->SubItems->Strings[nCol] = "サブアイテム"; } } データ追加の部分がちょっとうろ覚えなのですが、こんな感じで出来たはずです。 キャプションというのはListViewの見た目では一列目のところです。そこから後の列をサブアイテムと言います。Stringsの[]の中の数字をループで回して変化をさせれば次の列に追加していけます。 さらにその外でループすれば行を追加できるようになっています。 行数の指定は?と思われるかも知れませんが、一行(プログラムでは 0 ですが)目から順々に行の追加をしていくことがこれで出来ます。 ソース部分は確認をして、また、ご連絡をしたいと思います。 一緒に頑張りましょうね!

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

デザイナで、カラムの設定をしておく データソースを1行ずつ処理する  TListItemを生成する  データソースの1カラムずつ処理する   TListItem.Itemに列データを追加する  TListView.Itemsに、ListViewItemを追加する ヘルプを見れば「例」が出ている 

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ListViewで任意の行の背景色を変化

    Listviewで指定した行の背景色を変化させたいのですが、どうしたらよいでしょうか? 開発環境はBorlandのC++Builderです。 よろしくお願いします。

  • ListViewの選択について

    VB6.0を使用しています。 ListViewでlvwReport表示形式でFullRowSelectプロパディで行全体を選択するようにしてあるのですが、一部のカラムが選択されないように見えるのです。 例えば、5カラムあるListViewで、1,2,4,5カラムは選択されているのに、3カラム目だけ選択されてません。選択されない原因かどうかわからないのですが、選択されないように見えるカラムは必ず空白となっています。しかし、他のカラムでも空白の行は存在するのにちゃんと選択されていることもあります。 このような現象をご存知の方がいらしゃいましたら、教えていただけないでしょうか?よろしくお願いいたします。

  • ListViewでサブアイテムが表示されない

    VC++2008にて、プロジェクト形式がWindowsエクスプローラの MFCアプリケーションにてプログラムを作成しています。 ListViewにて、InsertColumn、InsertItem、SetItemTextを 行い、カラムと項目のデータ設定をしているのですが、 ListViewを詳細表示にすると、設定したサブアイテムが 表示されない場合があります。 InsertItemで設定した文字列は、設定した分だけ、 左端にキチンと表示されているのですが、 それ以降のサブアイテムについては、表示されている行もあれば 表示されていない行もあります。 1行に複数のサブアイテムを設定しているのですが、 表示されている場合は、サブアイテム全てが表示されており、 表示されていない場合は、サブアイテム全てが表示されていません。 デバッグで追う限り、データ設定自体は問題なく、 表示される行と、されない行について、 差異を探してみましたが、別段、違ったことはしていません。 ListViewについては、PreCreateWindowにて cs.style |= TVS_SHOWSELALWAYS; cs.style |= LVS_SINGLESEL; cs.style &= ~LVS_TYPEMASK; 上記、設定を行っています。 この他に、何か設定が足りなくて、表示されていないのでしょうか?

  • ListViewについて

    CSVファイルを読込後、指定したカラムにてソートをかけてからListViewに表示することは可能でしょうか???

  • ListViewにて行追加

    Visual C# 2005初心者です。 ListViewを使用して、データを表示するのに、 listView1.Items.Add("1111111", 3); listView1.Items.Add("2222222", 3); listView1.Items.Add("3333333", 3); と書くと、列が追加されます。 行を追加するには、どうすればよいのでしょうか? どうか、教えてください。

  • VB2010 ListView 使い方

    VB2010でListViewを使っています。かなり順調にプログラムが出来ているのですが、トラブルに遭遇しました。 Form1でDATAを入力して、Form2とForm3でそのDATAをListViewを使って表示しています。 そして、Form2のListViewをForm4に簡素化した雛形にして、ListViewを使って表示させています。 同様に、Form3のListViewをForm5に簡素化した雛形にして、ListViewを使って表示させています。 Form2からForm4は問題なく表示されますが、Form3からForm5はエラーとなります。 エラーは次のところで生じます。 ListView1.Items(2).SubItems.Add(Form3.ListView1.Items(1).SubItems(2)) エラーメッセージは次のようです。 「'1' の InvalidArgument=Value は 'index' に対して有効ではありません。」 また、次のようにコーディングしてみると、 ListView1.Items(2).SubItems.Add(Form3.Label2.Text) 「Labl2」と表示されるだけです。Label2の情報は表示されません。 単純にDATAを移すだけなのに、1つは出来て、もう1つは出来ないというのが分かりません。 どこに問題があるのでしょうか。 かなり悩んでいますが、解決策が見出せません。 ご教授いただける方が居られましたら、宜しくお願い申し上げます。

  • ListViewについて

    いつもお世話になっています。 タイトルの通り、ListViewについて2つ質問があります。 (1)ListViewにDBから検索したデータを代入してますが、動きが遅いんです。  各項目ごとで色を変更したりするためだと思いますが、ListViewの表示を速くする方法はなにかありませんか?  ちなみに今は、ListViewを2枚使って、データをセットしている間は、VisibleをFalseにして、  データセットが完了した時点で、Trueに切り替えています。 (2)(1)の動きで、ListViewを使っているところ、今表示されているListView(Iとします)で  クリックしたデータを次に表示させるListView(IIとします)に引き継がせたいです。  Iで、選択している行をIIで選択状態にすることはできたのですが、  Iで選択している行がスクロールして下にあった場合、IIでもスクロールした場所に  ListViewを移動させたいのですが、その方法が分かりません。 何かご存知の方がいましたら、教えてください。 よろしくお願いいたします。

  • ListViewで条件によって表示を変えたい。

    ASP:C#を使ってソースを作っています。 ListViewというSQLを表示するのに便利なタグがあったのでそれを使用しています。 ですが、取得したデータの中身を参照して、参照したデータによって表示を変えたいのですが、 Evalでデータを貼り付けることはできるのですが、stringやintなどの変数に代入出来なさそうです。 ListViewの中で、条件文を挿入することは出来るのでしょうか?

  • C# listviewで指定した配列にあるデータで、TEXTBOXへ表

    C# listviewで指定した配列にあるデータで、TEXTBOXへ表示ついて 例 listviewに 1 2 3 4 5 6 7 8 A Aさん 50 B Bさん 40 C Cさん 60 D こういう感じで B行にある3列に40のデータを TEXTBOXへ表示したいのですが、どなたかご存知いましたらプログラムソース教えて戴けませんか? お願いいたします。

  • 画像処理の参考書

    Borland C++Builder5を使用して、画像の比較、差分表示のプログラムを作成しようと考えています。 役に立つような参考書、お勧めの書籍等がありましたら教えてください。