Q: Data Table with additional Please go through my coding below -

    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

"All" and "None" are additional data. I'd like to add these two in another data table return from database. Is there any better way than my coding? (without looping to add rows) Thank you.

A: You don't need to create 2 data tables. Just modify the one that you get from your cReport.getAllProduct method by using the 
Public Sub InsertAt(row as System.Data.Datarow, pos as Integer) 
method to add the extra "All" and "None" values.
    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

