none
DataGridViewComboBoxColumn问题 RRS feed

  • 问题

  • Private Sub DataGridView1_load(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
            Dim itemstatus() As String = {"Normal", "Urgent"}
            Dim combostatus As New DataGridViewComboBoxColumn
            With combostatus
                .DataSource = itemstatus
                .DisplayStyle = DataGridViewComboBoxDisplayStyle.Nothing
                .DropDownWidth = 100
            End With
            With Me.DataGridView1.Columns
                .Add(combostatus)
            End With
        End Sub
    我已经在datagridview1添加了一行 DataGridViewComboBoxColumn,然后运行上面的代码。但却没有数据出现在 DataGridViewComboBoxColumn。
    2011年9月17日 4:03

答案

  • 我已经在datagridview1添加了一行 DataGridViewComboBoxColumn,然后运行上面的代码。但却没有数据出现在 DataGridViewComboBoxColumn。


    注意:Private Sub DataGridView1_load(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick(你实际上绑定了单元格点击事件,尝试点击某个单元格!)

    建议在以下代码中调用:

     Private Sub DataGridView1_CellClick(ByVal sender As System.ObjectByVal e As System.Windows.Forms.DataGridViewCellEventArgsHandles DataGridView1.CellClick
            DataGridView1_load(NothingNothing)
        End Sub


    如果你有其它意见或私下交流,请直接发送maledong_work@foxmail.com;或者讨论(Talk)
    If you do not have QQ, please open the page and download it and click the image to talk or leave message for me.
    下载MSDN桌面工具(Vista,Win7)
    下载Technet桌面小工具(Vista,Win7)
    慈善点击,点击此处
    2011年9月18日 3:24
    版主
  • 你没有指定combostatus的valumember与displaymember
    2011年9月18日 12:10
  • Hi Ckjason,

    欢迎来到MSDN论坛。

    设定combobox,一般需要设置两个东西, 一个是设置下拉框的值,一个是设置数据源。

    在你的程序里,可以看出你是想让 {"Normal", "Urgent"}出现在下拉框中,所以你应该这样添加下拉框的值:

            With combostatus 
                .Items.AddRange({"male", "female"})
            End With

    另外,combobox显示的值来源于数据库,当然, 其最直接来源是datagridview的datasource,所以你还需要指定显示数据源中的那个属性列:

            With combostatus 
                .DataPropertyName = "gender"
            End With

    这样当你设定好datagridview的数据源时,就能看到数据库的值了。

    Best regards,


    Mike Feng [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2011年9月20日 5:53
    版主

全部回复

  • 我已经在datagridview1添加了一行 DataGridViewComboBoxColumn,然后运行上面的代码。但却没有数据出现在 DataGridViewComboBoxColumn。


    注意:Private Sub DataGridView1_load(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick(你实际上绑定了单元格点击事件,尝试点击某个单元格!)

    建议在以下代码中调用:

     Private Sub DataGridView1_CellClick(ByVal sender As System.ObjectByVal e As System.Windows.Forms.DataGridViewCellEventArgsHandles DataGridView1.CellClick
            DataGridView1_load(NothingNothing)
        End Sub


    如果你有其它意见或私下交流,请直接发送maledong_work@foxmail.com;或者讨论(Talk)
    If you do not have QQ, please open the page and download it and click the image to talk or leave message for me.
    下载MSDN桌面工具(Vista,Win7)
    下载Technet桌面小工具(Vista,Win7)
    慈善点击,点击此处
    2011年9月18日 3:24
    版主
  • 你没有指定combostatus的valumember与displaymember
    2011年9月18日 12:10
  • Hi Ckjason,

    欢迎来到MSDN论坛。

    设定combobox,一般需要设置两个东西, 一个是设置下拉框的值,一个是设置数据源。

    在你的程序里,可以看出你是想让 {"Normal", "Urgent"}出现在下拉框中,所以你应该这样添加下拉框的值:

            With combostatus 
                .Items.AddRange({"male", "female"})
            End With

    另外,combobox显示的值来源于数据库,当然, 其最直接来源是datagridview的datasource,所以你还需要指定显示数据源中的那个属性列:

            With combostatus 
                .DataPropertyName = "gender"
            End With

    这样当你设定好datagridview的数据源时,就能看到数据库的值了。

    Best regards,


    Mike Feng [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2011年9月20日 5:53
    版主