アプリ版:「スタンプのみでお礼する」機能のリリースについて

開発環境:Visual Basic 2008

教えて下さい。

画面上にDataGridViewを配置し、データベースから取得した値を表示させていますが、
その際に、ある項目だけリンク列としたいと考えています。

いろいろネットで調べたところ、単純にDataGridViewにリンク列にする方法は記載がありましたが、
Datatableとバインドしているような場合のやり方は記載がなく、、、

以下のような場合(リンク項目をリンクとしたい)はどのようにリンクとしたら良いでしょうか??

※ リンク項目はDBの内容で、それぞれリンク先を異なるリンク先にしたいと考えています。

《記述内容》

Private Sub 作成_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

'データセットにテーブルを追加する
dtTable = dtSet.Tables.Add("データ_TBL")

'テーブルにフィールドを追加する
dtTable.Columns.Add("部品", Type.GetType("System.String"))
dtTable.Columns.Add("リンク項目", Type.GetType("System.String"))

'DataGridViewにデータを表示する
G_GRID.DataSource = dtTable

End Sub

Private Sub BTN_表示_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BTN_TEXT.Click

********* かなり抜粋 *********

Do until

data_row("部品") = IN_名称(HCOUNT).IN_部品 ← 上処理でDBより取得
data_row("リンク項目") = IN_名称(HCOUNT).IN_リンク項目 ← 上処理でDBより取得
dtTable.Rows.Add(data_row)

loop

End Sub

よろしくお願いします。

A 回答 (1件)

質問に記載いただいている内容からではちょっとわかりませんが、


フォームデザイナでは DataGridView に対してカラムのデザインをせずに、
データバインドをしている DataTable から列の自動生成を行っているのでしょうか。

もしそうであれば、DataGridView の DataSouce プロパティへのデータソース設定よりも前で、

G_GRID.AutoGenerateColumns = false

として、列の自動生成は行わないように設定し、
フォームデザイナでデータソース(dtTable)の列と同じ数だけ追加し、
その際、リンク項目と対応させる列の型を DataGridViewLinkColumn に選択すれば良いのでは無いでしょうか。
# デザイナを利用せずにコード中で、G_GRIDに対して列を追加しても良いですが。
列の追加を行う際、列の DataPropertyName プロパティには
データソース(dtTable)の列名と同じ名称を設定します。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています