• 締切済み

vb.bet リストボックスの2項目の表示

vb.net始めて3ヶ月の超初心者ですのでよろしくお願いいたします。 リストボックスにYearと売り上げ高の2項目をIndexにもとづいて表示します。Variable、Indexなどはできているものとします。 このようなイメージです。 YEAR SALES 2007  1000 2008  2000 2009  2500 2010  3000 Dim strYear as string Dim intSales as integer Dim intFill as integer Dim strDisplay as String For intFill = 0 To 3 Me.lstBoxTotalYear.Items.Add(strYear(intFill)) これをつかうと、YearしかMe.lstBoxTotal...に入れられませんでした。2個いれたらErrorになりました。一方では、strDisplayをつくってYearとSalesをつなげて strDisplay = strYear & intSales.ToStringをつくったのですがこれもはねられました。 YearとSalesを2個いれるにはどうしたらいいでしょうか。或いは、他のCommandなどがありますでしょうか。Internetや他の本をみてもみつかりませんでした。 よろしくお願いいたします。

みんなの回答

  • chuchuo
  • ベストアンサー率45% (99/217)
回答No.1

これは、Listboxコントロールではなく ListviewコントロールかDataGridViewコントロールを 使わないと列項目は増やせません。

mspokemon
質問者

お礼

どうにかこうにか、ListViewでできました。 ありがとうございました。

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

関連するQ&A

  • [VB2008]リストボックス内の複数選択された項目を削除したい

    タイトルの通り、リストボックス内の複数選択された項目を削除したいのですが どうすればいいでしょうか? 下記のコードを組んでみましたが動作しませんでした。 Dim SelectItem As Object Dim ItemList As String = "" For Each SelectItem In Me.ListBox1.SelectedItems Me.ListBox1.Items.Remove(SelectItem.ToString()) Next ご回答お願いします。

  • キューとコンボボックスの使い方  VB2008

    VB2008を使っています。 キューとコンボボックスの使い方がわからないのですが、以下のソースで (1)キューとデータソースを使う。 Dim queue As Queue = New Queue(20) For i As Integer = 0 to 9 queue.Enqueue( i.ToString() ) Next i ComboBox1.DataSource = queue.ToArray ComboBox2.DataSource = queue.ToArray (2)べたな方法 ComboBox1.Items.Clear() For i As Integer = 0 to 9 ComboBox1.Items.Add( i.ToString() ) Next i ComboBox2.Items.Clear() For i As Integer = 0 to 9 ComboBox2.Items.Add( i.ToString() ) Next i ------------------------ (1) (1)と(2)は厳密にどのように違うのでしょうか? (2) (1)で心配なのは、キューの上限を20にしていて、実際使っているのは10個で後は空です。 この状態で、コンボボックスのDataSourceにセットした場合、(2)と同じように10件だけになっているのでしょうか? (3) (1)は同じキューを使いまわしています。コンボボックス1と2は独立して使えるのでしょうか?(データは同じです。)

  • VB6のTYPE文をVB.NETのStructureに変えるとき

    VB6のTYPE文をVB.NETのStructureに変えるとき 下記VB6のコードをVB.NETのStructureに変える場合 Type kouzou1 i As Integer j As Integer a As String * 20 b As String * 50 End Type を下記にしてみたのですが *20,*50のところは、どのように表現するのでしょうか。 Structure kouzou1 Dim i As Integer Dim j As Integer Dim a As String * 20 <- ステートメントの終わりを示してくださいのエラーになる。 Dim b As String * 50 <- ステートメントの終わりを示してくださいのエラーになる。 End Structure お教え下さい。

  • リストボックスのアイテムをマウスで並べ替えたいです

    リストボックスのアイテムをマウスのドラッグドロップで並べ替えたいのですが、 下のような感じで書いてみたのですが、 この状態だと、4番目のものを一番上に持ってくるという動作だけするのですが、 4番目から3番目に移動する場合や、1番目から3番目に移動する場合など 追加していくとIFが重なってきてすごくややこしくなってしまいます。 もっと分かりやすくて合理的な方法がありましたら、 大体でも良いですので、教えて頂けたら助かります。 よろしくおねがいいたします。 Private Sub Form1_Load(...略 ListBox1.Items.Add("AAA") ListBox1.Items.Add("BBB") ListBox1.Items.Add("CCC") ListBox1.Items.Add("EEE") End Sub Private Sub ListBox1_MouseDown(...略 SelectedSortFrom = ListBox1.SelectedIndex End Sub Private Sub ListBox1_MouseUp(...略 SelectedSortTo = ListBox1.SelectedIndex ListBox1Sort(SelectedSortFrom, SelectedSortTo) End Sub Private Function ListBox1Sort(ByVal From As Integer, ByVal Too As Integer) If From = -1 Then Exit Function If Too = -1 Then Exit Function Dim A(ListBox1.Items.Count) As String Dim B As Boolean For i As Integer = 0 To ListBox1.Items.Count - 1 A(i) = ListBox1.Items(i) Next For i As Integer = 0 To ListBox1.Items.Count - 1 If i = Too Then ListBox1.Items(i) = A(From) B = True Else ListBox1.Items(i) = A(i - 1) End If Next End Function

  • postgresとVBでデータを読み込み項目指定で

    postgresとNpgsqlを使用してVBでデータを読み込みをしています。 読み込んだレコードを項目ごとに分ける際に、配列番号でなく、項目名称を用いて取得する方法を教えて下さい。 'サンプル Dim npgCnct As NpgsqlConnection Dim npgCmnd As NpgsqlCommand Dim npgDR As NpgsqlDataReader Dim strSql As String npgCnct = New Npgsql.NpgsqlConnection npgCnct.ConnectionString = gstrCnct npgCnct.Open() strSql = "select" _ & vbCrLf & "itm1" _ & vbCrLf & ",itm2" _ & vbCrLf & "from tbl1" _ & vbCrLf & "where key1 = 'value1'" _ & vbCrLf & "and key2 = 'value2'" _ & ";" npgCmnd = New NpgsqlCommand npgCmnd.Connection = npgCnct npgCmnd.CommandText = strSql npgDR = npgCmnd.ExecuteReader() Dim strItm1 As String = Space(0) Dim strTtm2 As String = Space(0) While (npgDR.Read()) Dim strSqlfld(npgDR.FieldCount - 1) As String ' コメント1 For index As Integer = 0 To npgDR.FieldCount - 1 Step 1 strSqlfld(index) = IIf(IsDBNull(npgDR(index)) = True, Space(0), npgDR(index)) Select index Case 0 stritm1 = strSqlfld(index).ToString Case 1 stritm2 = strSqlfld(index).ToString Case Else End Select Next index ' コメント2 End While 上記のサンプルの場合で、stritm1、stritm2にデータを移送する際に、 コメント1のくだりを廃止し、 コメント2の下で、 stritm1 = 何かしらの手段('itm1') stritm2 = 何かしらの手段('itm2') という形で取得したいです。 NpgsqlDataReader の操作がイマイチ分かっていません。 DataTableか何かに変換できれば良いのですが。。

  • VB.NET parallel arrayからの取り出し方

    VB.NET 初心者ですのでお手やわらかにお願いいたします。 今週の売利上げを各商品ごとにTextboxへInputします。それをSortして一番売り上げ数の高い数字とその商品名をLabelHighNumberとLabeItemlNameに出します。分かりやすいように3商品と簡単な数字を使いますのでご了承ください。input数字はすでにToInt32でConvertしてあるもとします。どうもこれでは、Sort後、売り上げ個数の高い18だけ引っ張ってきてOrangeがでてきません。Arrayの中で二つがつながってないんでしょうか。 商品名はすでにLabelでscreenにでていますので、売り上げ個数だけのInputになります。 このようなイメージです。 Apple 10 Banana 5 Orange 18 Dim strItemName() as string {"Apple", "Banana","orange"} Dim intInputProductNumber() as integer {10, 5, 18}  Dim intIndexLocaion as integer ’一番高いIndexをとるためSortしました Array.Sort(inInputProductNumber) 'ここでIndexが一番大きい2をとりました。(0,1,2の中で) intIndexLocation = inputProductNumber (2) 'ここでは18と出てきます。 me.LabelHighNumber.text = indIndexLocation.toString ’しかし、Orangeとはでてきません。 me.LabelItemName.text = strProductName(intIndexLocation) よろしくご教示お願いいたします。

  • リストボックスにファイル名のみを表示するには?

    いつもお世話になっています。 今、VisualStudio.NETのVB.NETを使用して勉強しているものです。 現在、特定のフォルダからその中に入っているファイルを リストボックスに表示させたいと思っています。 フルパスを表示させることはできたのですが、ファイル名のみの表示がうまくいきません。 どなたか教えていただけないでしょうか。 以下のようにコードを書いております。 一度、TextBox1にフォルダのパスをコピーする仕組みになっています。 GetFileName関数を使用すればいいのかもしれませんが、 うまく組み合わせることができません。 どうぞよろしくお願いいたします。 Private Sub GetAllFiles(ByVal folder As String, _ ByVal searchPattern As String, ByRef files As ArrayList) 'folderにあるファイルを取得する Dim fs As String() = _ System.IO.Directory.GetFiles(Me.TextBox1.Text, searchPattern) 'ArrayListに追加する files.AddRange(fs) End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Dim subFolders As New ArrayList() Dim files As New ArrayList() 'TextBox1以下のファイルをすべて取得 GetAllFiles(Me.TextBox1.Text, "*.*", files) 'ListBox1に結果を表示する Me.ListBox1.Items.Clear() Me.ListBox1.Items.AddRange(files.ToArray()) End Sub

  • VB6.0 →VB2005 のアップグレードでエラー表示

    VB6.0の標準モジュールでは Private Type typset a As String b As String c As Integer End Type Public make() As typset と記述してエラーもなく正常なのですが、VB2005にアップグレードしたときに、 Option Strict Off Option Explicit On Module Module1 Private Structure typset Dim a As String Dim b As String Dim c As Integer End Structure Public make() As typset←▼エラー▼            End Module 【エラー内容】 'make' は、module 'Module1' をとおして型 'typset' を namespace 'WindowsApplication1' で公開することはできません。 structure部をPublicなどにしてもエラーは消えますが、参照先に影響が出てしまいます。 根本的な解決方法が分かりません。 教えていただけないでしょうか?

  • VB2008 日付表示

    コンボボックス内に日付を「08/06/12(木)」のような形式で表示させたいのですが、うまく行きません。 Dim cnt As Integer For cnt = 0 To 20 Me.CmbDate.Items.Add(Format(DateAdd("d", cnt, Today), "yy/mm/dd(aaa)")) Next と書いてみたんですが、「08/00/12(aaa)」・・・という表示になってしまいます。日付表示の仕方をご存知の方、教えていただけないでしょうか?

  • コンボボックスに日付を表示する

    現在、VB.netを勉強中です。 コンボボックス内に今日から一週間分の日付を表示したいのですが、上手く行きません。 Dim dtToday As DateTime = DateTime.Today ComboBox1.Items.Add(dtToday.ToString()) と書いたところ現在の日付を取得しコンボボックス内に 2013/5/28 00:00 と表示されています。 これを時刻を表示させず(2013/5/28 のみ表示)、For文を用いて一週間分表示させたのですが、どのようにすればよいでしょうか? 分かる方がいれば、よろしくお願いします。