- ベストアンサー
tableからlistboxにデータをならべるにはどうしたよよいのでしょう
VBを勉強しております。accessをデータベースにしてデータをlistboxに並べたいのですが、なんとかテーブルまではたどりついたのですが、listboxにならびません。WEBや書物を参考に listbox1.databindings.add("text",table,"○○")としてみたのですが だめでした。どのようにするとlistboxにデータがなるぶのでしょう。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
コマンドボタンでデータベースの接続をするのはどうかと思います Form_Loadイベントで データベースと接続してしまったほうがいいように思いますよ それでこのコードだとDataGridViewに表示させているんですよね それなら DataGridViewのCurrentCellプロパティを使ってどの行か特定できると思います CurrentCellからRowNumberやColumnNumberが拾えるので その相対値で URL列は判断できると思います sURL= DataGridView( CurrentCell.RowNumber, 1) 具合でしょう この方法以外に データグリッドビューの DataSourceプロパティのV印を押して 『プロジェクトデータソースの追加』から データセットなどを作成する方法もありますよ 先の回答で DataSourceにDataSetwo継承したオブジェクトと書きましたが間違ってますね 正解は DataBindingSourceを継承したオブジェクトになります
その他の回答 (2)
- redfox63
- ベストアンサー率71% (1325/1856)
お使いの開発環境はなんですか? 我々はあなたのそばで見ているわけではないので何を使っておられるのかわかりませんよ まぁ databindingsとかおっしゃられているので VB.NETだろうということは推測できますが VB2005なのか VB.NET2003もしくは VB.NET2002などいろいろありますから データソースは DataSetまで作成したのでしょうか oleDBDataAdapter,oleDbdataConnection,DataSet を継承したオブジェクトがあると比較的簡単にご要望のことが出来ると思います ListboxのだたSourceに DataSetを継承したオブジェクトを設定し DisplayMemberに表示したい列名を選択 といった具合ですよ どのようなコードを書いて、データテーブルには何があるのかぐらい書きましょうね 行った結果と 希望する結果の差異がどうなのかも重要ですよ
お礼
申し訳ありませんでした。VB2005を使用しております。 以下のように記述しておりました。 Imports System.Data.OleDb Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim Cn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Documents and Settings\X1\My Documents\adres.mdb") Dim SQLCm As OleDbCommand = Cn.CreateCommand Dim Adapter As New OleDbDataAdapter(SQLCm) Dim Table As New DataTable SQLCm.CommandText = "SELECT * FROM インターネット" Adapter.Fill(Table) TextBox1.DataBindings.Add("text", Table, "WEB名") TextBox2.DataBindings.Add("text", Table, "URL") TextBox3.DataBindings.Add("text", Table, "その他") Try WebBrowser1.Url = New Uri(TextBox1.Text) Catch ex As Exception MessageBox.Show(ex.Message) End Try Dim i As Integer Dim Bind As BindingManagerBase = Me.BindingContext(Table) DataGridView1.DataSource = Table Bind.Position += 1 Table.Dispose() Adapter.Dispose() SQLCm.Dispose() Cn.Dispose() End Sub End Class
- sugao_chib
- ベストアンサー率59% (22/37)
こんにちは リストボックスのプロパティの設定では駄目なのでしょうか ・値集合タイプ ・値集合ソース ・列数 ・列見出し ・連結列 このあたりを設定してみては? 外していたらゴメンナサイ
お礼
ご教授ありがとうございます。listbox のプロパティーでそれらしきところをいじりました。Datasourse,DisplayMember,ValueMember当たりかなと思い表示させたい項目にしましたが・・・。だめでした。すごく難しいですね。と、いいますか私が駆け出しの初心者なのですが。独学では無理なのでしょうかね。公式ページの説明は難しすぎて分からないし、書店にある本はチョー難しい本かまたは、さわりの部分しか書いていない本が多し、難しいですね。
お礼
ありがとうございます。必死こいて、がんばります。datagridviewはテーブルに入ってきてたのかどうかを確認したくて入れたもので実際にはとるつもりでいます。 がんばってみます、ありがとうございました。
補足
ご教授ありがとうございました。何とか解決できました。本当にご迷惑をおかけいたしました。