- PR -

listViewの値継承

1
投稿者投稿内容
little bear
会議室デビュー日: 2006/12/07
投稿数: 6
投稿日時: 2006-12-14 16:41
From1で作成したlistViewを、Form2でlistViewを継承し、listViewの値を取得・表示するというものを作成しようとしていますが、うまくいきません。

No Name Addr TEL
1  A   B   C
2  AA  BB  CC
3  AAA  BBB  CCC
.
.
.

上記のようなlistViewです。

Columns.Countは取得できるのですが、items.Countとすると"0"としか表示されないのでデータは継承していないということなんでしょうか?
また、このような場合のデータの取得方法はどうしたらよいのでしょうか。

ご指導のほどよろしくお願いします。○┓ペコ
ぽぴ王子
ぬし
会議室デビュー日: 2006/03/24
投稿数: 475
お住まい・勤務地: お住まい:城・勤務地:城
投稿日時: 2006-12-14 16:55
引用:

little bearさんの書き込み (2006-12-14 16:41) より:

From1で作成したlistViewを、Form2でlistViewを継承し、listViewの値を取得・表示するというものを作成しようとしていますが、うまくいきません。


よく内容が飲み込めないのですが、たぶんにlittle bearさんの考える「継承」と私の考
える「継承」の意味がまったく違うために意味が通じていないのではないかと思われます。
まずは little bear さんの考える「継承」について説明してください。

私の考える「継承」では、データの中身は継承されません。

また「うまくいかない」場合は「どういったことをしたのか」「その結果どういう動作になって、
自分が意図した動作はどうだったのか」までを説明しないと相手に伝わりません。
それも合わせて説明してください。
_________________
ぽぴ王子@わんくま同盟
ぽぴ王子の人生プログラミング中 / ぽぴンち。
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-12-14 17:06
引用:

little bearさんの書き込み (2006-12-14 16:41) より:

From1で作成したlistViewを、Form2でlistViewを継承し、listViewの値を取得・表示するというものを作成しようとしていますが、うまくいきません。


ListView クラスを継承すると、ListView クラスの継承可能なメンバの実装が継承されます。
単純にデータの中身を受け継ぐということはありません。(初期値などは別です)

# ロマンシング サ・ガ 2 だと、能力値や技の中身までもが 「継承」 されますけどw

引用:

Columns.Countは取得できるのですが、


"取得できる" のと、データが受け継がれたかはイコールではありません。

引用:

items.Countとすると"0"としか表示されないのでデータは継承していないということなんでしょうか?


メンバの実装が継承されるだけで、データの中身が継承されるわけではありません。
くどいようですが、実装が継承される == コンストラクタが継承されるので、初期値は別です。

引用:

また、このような場合のデータの取得方法はどうしたらよいのでしょうか。


このような設計は普通しないです。
雛形を用意するなら、外部ファイルやりソースを使いましょう。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
little bear
会議室デビュー日: 2006/12/07
投稿数: 6
投稿日時: 2006-12-14 17:16
申し訳ありません。
「継承」という言葉の使いかたが悪かったかもしれません。

私が意図する動作とは、Form1でListViewを作成しデータを保持しています。(約1000件)
このListViewをForm2から呼び出し?指定したアイテムNoのコラムの一部をForm2のTextBoxに表示させるというものです。
伝わるでしょうか?

また、私が行ったことは、Form1のlistViewをPublicにして、Form2でItems.Countを行ってデータを取得できるかを確認しただけになります。
little bear
会議室デビュー日: 2006/12/07
投稿数: 6
投稿日時: 2006-12-14 17:23
>じゃんぬねっとさん
やはりデータの中身は継承されないんですか。

では、上記の自己レスのようなことを行うには
どのような方法があるでしょうか?
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-12-14 17:41
引用:

little bearさんの書き込み (2006-12-14 17:16) より:

「継承」という言葉の使いかたが悪かったかもしれません。


下記引用を見て納得しました。

引用:

私が意図する動作とは、Form1でListViewを作成しデータを保持しています。(約1000件)
このListViewをForm2から呼び出し?指定したアイテムNoのコラムの一部をForm2のTextBoxに表示させるというものです。
伝わるでしょうか?


この説明では、どのような実装をして、データの伝播させようとしているのかわからないので、伝わらないです。
下記引用と同じことを説明しているのでしょうか??

引用:

また、私が行ったことは、Form1のlistViewをPublicにして、Form2でItems.Countを行ってデータを取得できるかを確認しただけになります。


それは、Form1 に追加された 1 つの ListView コントロールの中身を直接見ているだけです。
その方法であれば、(良くない実装ですが) データは取得できるのではないかと思います。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-12-14 17:49
入れ違いでした。

引用:

little bearさんの書き込み (2006-12-14 17:23) より:

やはりデータの中身は継承されないんですか。


どうやら、今回は "継承" という言葉は不適切であると思います。
良い機会なのでこちらをご覧になってください。これをご覧になれば、どうすれ違っていたのかわかるかと思います。

引用:

では、上記の自己レスのようなことを行うにはどのような方法があるでしょうか?


結局、別の Form のコントロール (および、そのメンバの値) を参照したいということでよろしいでしょうか?
最初の "継承" が、言葉の使い方が悪かったとしても、あまりに結びつかないので、答えるこちらが何だか不安です。

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
little bear
会議室デビュー日: 2006/12/07
投稿数: 6
投稿日時: 2006-12-14 17:55
>じゃんぬねっとさん
詳しく回答していただいてありがとうございます。
自分がとても勉強不足ということを実感しました。

出直してきたいと思います。
ありがとうございました。
1

スキルアップ/キャリアアップ(JOB@IT)