如何以编程方式将CheckBox Column添加到RadGridView控件。错误消息:集合中存在具有相同名称的列

时间:2018-11-28 12:34:58

标签: datagridview radgridview datagridviewcolumn datagridviewcheckboxcell

我正在尝试使用代码将CheckBox列添加到RadGridView控件。

下面是我的代码:

Sub AddCheckColumnGrid()

    '  Dim chkSelection As New DataGridViewCheckBoxColumn // Microsoft Control
    Dim chkSelection As New GridViewCheckBoxColumn '// Telerik Control
    With chkSelection
        .HeaderText = "Check"
        .Name = "Check"
        .Width = 80
    End With

    gvDisplay.Columns.Insert(0, chkSelection)
End Sub

带有GridView的表单使用以下代码显示为对话框

  

.ShowDialog()

我的挑战: 当我第一次打开表单时,它可以正常工作。 当我尝试再次打开它时,出现错误消息

  

集合中存在具有相同名称的列。

我到目前为止所做的事情:

1)我尝试了

  

Visual Studio默认的DataGridView和DataGridViewCheckBoxColumn。 Error Image

Microsoft DataGridView不会给出错误,但是只要我打开表单,就会在网格中添加一个新的Check Column。如果我打开10次,将添加10个检查列。那不是我想要的。无论打开多少次,我都只希望将一列添加到网格中。 Image

2)我添加了:

  

gvDisplay.Columns.Clear()

我从Refreshing RadGridView with Programtically added Button : A column with the same Name already exists in the collection那里得到了建议

不幸的是,我没有让我高兴:( 当我打开表单时,仅显示“检查”列。数据库中的所有列都不是。 Check Display here

3)我读到Telerik文档的链接很少,但仍然没有得到它。

如何解决错误消息?:

  

集合中存在具有相同名称的列。

1 个答案:

答案 0 :(得分:0)

下面的代码对我有用。

我将插入内容置于IF条件

If NOT gvDisplay.Columns.Contains("check") Then
gvDisplay.Columns.Insert(0, chkSelection)
End If