質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
DataGrid

GUIの一種であり、データを表の形式でみることが可能です。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

ADO.NET

ADO.NETは.NET Frameworkで各種データベースへの統一された接続機能を提供するソフトウェアコンポーネントの集合です。

Q&A

解決済

1回答

11699閲覧

DataGridViewにテーブルを表示させたい

kotetsukoume02

総合スコア11

DataGrid

GUIの一種であり、データを表の形式でみることが可能です。

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

Access

Accessはマイクロソフトによるリレーショナルデータベース管理システムです。オブジェクト指向のアプリケーション作成に対応しており、テーブルや編集をはじめ、クエリ生成、入力フォーム作成、レポート作成など一通りの機能を備えています。

ADO.NET

ADO.NETは.NET Frameworkで各種データベースへの統一された接続機能を提供するソフトウェアコンポーネントの集合です。

0グッド

0クリップ

投稿2016/09/14 02:34

編集2016/09/14 05:55

###前提・実現したいこと
DataGridViewにテーブルレコードを表示したい。

###該当のソースコード
Imports System.Data.OleDb

Public Class Form1

End Class

Public Class FormSelectAllGrid
Inherits System.Windows.Forms.Form

'------------------------------------------------------------ ' tbl1から全レコードを取得しデータグリッドに表示する '------------------------------------------------------------ Private Sub FormSelectAllGrid_Load _ (ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load Dim con As New OleDbConnection() Dim cmd As New OleDbCommand() Dim da As New OleDbDataAdapter() Dim ds As DataSet = New DataSet() Dim DataGrid As New DataGrid Dim datatable As New DataTable Try ' テーブルスタイルを生成する Dim dgStyle As DataGridTableStyle = _ New DataGridTableStyle() dgStyle.MappingName = "tbl1" ' 列スタイルを生成し、プロパティを設定する Dim col(2) As DataGridTextBoxColumn ' 1列目 col(0) = New DataGridTextBoxColumn() '表示名 col(0).HeaderText = "列1" col(0).MappingName = "列1 '幅 col(0).Width = 60 '中央揃え col(0).Alignment = HorizontalAlignment.Center ・ ・ ・ '30列目: col(29) = New DataGridTextBoxColumn() col(29).HeaderText = "列30" col(29).MappingName = "列30" col(29).Width = 150 col(29).Alignment = HorizontalAlignment.Left 'テーブルスタイルに追加する dgStyle.GridColumnStyles.AddRange(col) ' テーブルスタイルをグリッドに追加する DataGrid.TableStyles.Clear() DataGrid.TableStyles.Add(dgStyle) ' DB接続文字列の設定 con.ConnectionString = _ "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _ Application.StartupPath & "C:¥joho_2.mdb" ' コネクションの設定 cmd.Connection = con ' SQL文の設定 cmd.CommandText = _ "SELECT 列1,・・・・,列30 & _ "FROM tbl1 ORDER BY 列1" ' データを取得する da.SelectCommand = cmd ds.Clear() da.Fill(ds, "tbl1") ' データをバインドする DataGrid.SetDataBinding(ds, "tbl1")

Catch ex As Exception
' 例外が発生した時の処理
MessageBox.Show(ex.ToString, "例外発生")

End Try End Sub

End Class

###試したこと
http://park5.wakwak.com/~weblab/selectAllGrid.html
こちらのサンプルを参考にしました。

###補足情報(言語/FW/ツール等のバージョンなど)
Visual Studio2008
ADO.net
データソースはAccess

上記のコードでは、DataGridViewに表示されず
たくさん調べたのですが、どこが悪いのかすらわからず
行き詰まってしまいました。

大変恐縮ですが、どなたかご教授いただけないでしょうか。
宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

生成したDataGridコントロールをフォームへ登録してないからじゃないでしょうか?

VB.NET

1Dim DataGrid As New DataGrid

上記のようにコード中でコントロールを生成した場合は、下記のようにしてフォームに登録しなければなりません。

VB.NET

1Me.Controls.Add(DataGrid)

というか、普通はコード中でコントロールを生成するのではなく、フォームデザイナでコントロールを貼り付けて使用するので、「Dim DataGrid As New DataGrid」がいらないと思います。

フォームデザイナでDataGridコントロールを貼り付けて、コード中のDataGridの部分をDataGridコントロールにつけた名前に変えてみたらどうでしょうか?

ちなみに質問文の中に「DataGridView」と書いてある部分がありますね。DataGridViewコントロールはDataGridコントロールの後継ですが別物なので、プロパティやメソッドが異なることに注意してくださいね。

投稿2016/09/14 04:21

twck

総合スコア314

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

kotetsukoume02

2016/09/14 05:10

お返事ありがとうございます。 やっっっと理解しました! まだまだ初心者なもので、datagridviewとdatagridの 違いさえも理解していませんでした…。 ご指摘の部分を踏まえながら勉強していきたいと思います。 ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問