0

以下の私のコーディングを見てください -

    Dim dtProductName As New DataTable()
    dtProductName.Columns.Add(VP_Product)
    'add new row
    Dim dr As DataRow
    dr = dtProductName.NewRow()
    dr.Item(0) = "All"
    dtProductName.Rows.Add(dr)

    dr = dtProductName.NewRow()
    dr.Item(0) = "None"
    dtProductName.Rows.Add(dr)

    Dim dt As New DataTable()

    dt = cReport.getAllProduct

    For Each drp As DataRow In dt.Rows
        dr = dtProductName.NewRow()
        dr.Item(0) = drp.Item(0)
        dtProductName.Rows.Add(dr)
    Next

    cboProductLine.DataSource = dtProductName
    cboProductLine.ValueMember = VP_Product
    cboProductLine.DisplayMember = VP_Product

「すべて」と「なし」は追加データです。データベースから返される別のデータ テーブルにこれら 2 つを追加したいと思います。私のコーディングよりも良い方法はありますか? (行を追加するためにループすることなく)ありがとう。

4

1 に答える 1

0

2 つのデータ テーブルを作成する必要はありません。cReport.getAllProductを使用して、メソッドから取得したものを変更するだけです

Public Sub InsertAt(row as System.Data.Datarow, pos as Integer)

「すべて」と「なし」の値を追加するメソッド。

    Dim dt As New DataTable()

    dt = cReport.getAllProduct

    Dim dr As DataRow

    dr = dt.NewRow()
    dr.Item(0) = "All"
    dt.Rows.InsertAt(dr, 0)

    dr = dt.NewRow()
    dr.Item(0) = "None"
    dt.Rows.InsertAt(dr, 1)

    cboProductLine.DataSource = dt
    'make sure your dt datatable contains the VP_Product column
    cboProductLine.ValueMember = VP_Product
    cboProductLine.DisplayMember = VP_Product
于 2012-12-05T09:48:24.863 に答える