• 締切済み

vb2008です。ListViewついてです。

初心者です。説明に分かりにくい所もあるかと思いますがよろしくお願いします。 csvファイルを用いてListViewで一覧の作成をしています。 Using textPatser As New Microsoft.VisualBasic.FileIo.TextPatser("C:¥~¥.csv",System.Text.Encoding.GetEncoding("UTF-8")) textPatser.TextFiledType=FileIo.FiledType.Delimited textPatser.HasfildsEnclosedInQuotes=True textPatser.SetDelimitedrs(",") ListView1.Items.Clear() While Not textPatser.EndOfData Dim fields As String() = textPatser.ReadFields() ListView1.Items.Add(New ListViewItem(fields)) End while End Using のコードにてListViewの一覧に入力しました。 一覧に国名の列があり0001,0002,0003....と入力しています。 別のcsvファイルに数字のコードと国名 国コード,国名 0001,日本 0002,アメリカ 0003,フランス と作りました。これを認識、0001の所は、日本と表示出来るようにしたいのですが 仕方を知りたいです。よろしくお願いします。

みんなの回答

noname#212058
noname#212058
回答No.2

回答No.1 です。 回答No.1のコード、間違えました。『ディクショナリを作る』 ほうで "0001", "日本" を2回入れてますね。後のほうは "0003", "フランス" の間違いです。 大丈夫だとは思いますが、念のため訂正です。

noname#212058
noname#212058
回答No.1

このような場合には、事前に「別のcsvファイル」を読み込んで System.Collections.Generic.Dictionary に入れておき、表示 時に使うのが良くあるパターンです。 Dictionary へのデータの入れ方と、数字のコードから国名への 変換方法をご紹介しますので参考にしてみてください。 ディクショナリを作る Dim countryNameDictionay As System.Collections.Generic.Dictionary(Of String, String) = New System.Collections.Generic.Dictionary(Of String, String) countryNameDictionay.Add("0001", "日本") countryNameDictionay.Add("0002", "アメリカ") countryNameDictionay.Add("0001", "日本") ディクショナリを使って数字を国名に変換する Dim countryName As String = countryNameDictionay("0001") ↑countryName 変数に "日本" が入ります

jin_1990
質問者

補足

回答ありがとうございます。申し訳ありません自分の説明に足らない所がありました。 Columnsの列が6つありましてColumns3、4、5と数字コードで入力してあり例えばColumns3が国名になっています。その場合どうすればいいでしょうか?お忙しい所申し訳ありませんよろしくお願い致します

関連するQ&A