2017-10-04 16 views
0

ここでは、SQLデータベースをフォームアプリケーションにデータソースとしてインポートしましたが、プレビューをクリックすると行が表示されません。VB.Net DataGridviewにdataset1テーブルの行を入力する

Public Class Form1 
    Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load 
    'TODO: This line of code loads data into the "DataSet1.Ac_Billbook" table. You can move, or remove it, as needed. 
    'Me.Ac_BillbookTableAdapter.Fill(Me.DataSet1.Ac_Billbook) 
    For Each table In DataSet1.Tables 
     ComboBox1.Items.Add(table.ToString) 
    Next 
    End Sub 

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
     DataGridView1.DataSource = DataSet1.Tables(ComboBox1.SelectedItem) 
    'DataGridView1.DataBind() 
    End Sub 
End Class 

Output

アイデアは、私はテーブルを見て、すぐにそれを見て、テーブルのフィールドをプレビューすることができるだろうということです。

+0

てみ 'DataSet1.Tables(ComboBox1.SelectedItem)は、GridViewのは、今、この行にエラーを取得 –

+0

を.DefaultView' 'System.Data.DataTable'の型に 'System.Data.DataView'型のオブジェクトをキャストすることができません。 –

答えて

0

ブレークポイントを使用してVSをテーブルをチェックするための "データセットビジュアライザ"(虫めがねが表示される小さなアイコン)を使用できるように、テーブルをデータソースとして割り当てる行を分解できますコンテンツ。

enter image description here enter image description here

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
    Dim dt as New DataTable 
    dt = DataSet1.Tables(ComboBox1.SelectedItem).DefaultView 
    DataGridView1.DataSource = dt 
End Sub 

たDataTableが必要な行を持っているかどうか、 "DataGridView1.DataSource = DT" との行にブレークポイントを入れて、顔をしています。 データがない場合、また、最初のテーブルでテスト:

dt = DataSet1.Tables(0).DefaultView 

データがまだ存在しない場合、あなたはあなたのDBのテーブル(複数可)から何も得ます。 `DT = DataSet1.Tables(ComboBox1.SelectedItem).DefaultView)` :

+0

完全に空白である –

+0

ええと、 ".DefaultView"を取り除く。私はDataSourceだけで.DefaultViewを使用することがわかります。それは動作するはずです。 –

+0

Okは私の元の投稿ごとに列見出しを表示しているようです - 行はありません - datamemberを指定する必要がありますか? –

関連する問題