怎么代码建立datagridview、datatable,并在datagridview中预制下拉组合框列的备选内容

如何代码建立datagridview、datatable,并在datagridview中预制下拉组合框列的备选内容?
如何在 表单 中用代码建立一个datagridview 和 datatable,其中datatable包括【序号】、【城市】、【人数】 三个字段。
然后在datagridview的【城市】列使用下拉组合框方式显示编辑该列内容,组合框内预制备选项为:北京,上海,广州
请各位大侠不吝赐教!先谢了
------解决思路----------------------
datagidview本身添加數據列,datagridviewComboBoxColumn可以解決第二個問題
------解决思路----------------------

这个代码是类模块内地

Imports System.Windows.Forms
Imports System.Drawing
Public Class Class2
    Sub New()
        With Table2
            .Columns.Add("城市名称")
            .Rows.Add("北京")
            .Rows.Add("上海")
            .Rows.Add("广州")
        End With

        With DataGridView1
            .Name = "DataGridView1"
            .Location = New Point(100, 30)
            .Size = New Size(419, 226)
            .Columns.Add("Column1", "序号")
            With DataGridViewComboBoxColumn1
                .ReadOnly = False
                .DataSource = Table2
                .DisplayMember = "城市名称"
                .Name = ("城市")
                .MaxDropDownItems = 50
            End With

            .Columns.Add(DataGridViewComboBoxColumn1)
            .Columns.Add("Column3", "人口")

        End With
    End Sub

    Private DataGridView1 As New DataGridView
    Public Property _DatwGridView1() As DataGridView
        Get
            Return DataGridView1
        End Get
        Set(ByVal value As DataGridView)
            DataGridView1 = value
        End Set
    End Property


    Private Form1 As New Form1
    Public Property _Form1() As Form1
        Get
            Return Form1
        End Get
        Set(ByVal value As Form1)
            Form1 = value
        End Set
    End Property

    Public Shared Property Table1 As New DataTable
    Public Shared Property Table2 As New DataTable


    Private _DataGridViewComboBoxColumn1 As New DataGridViewComboBoxColumn
    Public Property DataGridViewComboBoxColumn1() As DataGridViewComboBoxColumn
        Get
            Return _DataGridViewComboBoxColumn1
        End Get
        Set(ByVal value As DataGridViewComboBoxColumn)
            _DataGridViewComboBoxColumn1 = value
        End Set
    End Property


    Sub MySub()
        Form1.Size = New Size(554, 559)
        DataGridView1.DataSource = Table1
        Form1.Controls.Add(DataGridView1)
    End Sub


End Class


如下这些代码是窗体的

Public Class Form1

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim Cls1 As New Class2
        Cls1._Form1 = Me
        Cls1.MySub()

    End Sub
End Class