如何在同一个datagridview中多次使用定义的datagridview单元格

Posted

技术标签:

【中文标题】如何在同一个datagridview中多次使用定义的datagridview单元格【英文标题】:How to use a defined datagridview cell more than one times in same datagridview 【发布时间】:2014-01-23 15:35:34 【问题描述】:

我正在为我的应用程序创建一个数据网格视图。我没有使用列定义,而是定义单元格并将它们添加到 datagridview。

我的 Datagridview 将如下所示。

我为 MaxVal 和 MinVal 定义了一次 datagridviewComboboxCell。

当我尝试将这些单元格添加到我的 dgv 时,我收到以下错误。

提供的单元格已经属于一个网格。此操作无效。

我该如何解决这个问题?

这是我的代码:

    DataGridViewComboBoxCell Max = new DataGridViewComboBoxCell();
    DataGridViewComboBoxCell Min = new DataGridViewComboBoxCell();
    private void button3_Click(object sender, EventArgs e)
    


        Max.Items.AddRange(new string[]  "80", "90", "100" );
        dataGridView1[1, 1] = Max;
        dataGridView1[2, 1] = Max;
        dataGridView1[3, 1] = Max;
        dataGridView1[4, 1] = Max;
        dataGridView1[5, 1] = Max;
        dataGridView1[6, 1] = Max;
        Min.Items.AddRange(new string[]  "80", "90", "100" );
        dataGridView1[1,2] = Min;
        dataGridView1[2, 2] = Min;
        dataGridView1[3, 2] = Min;
        dataGridView1[4, 2] = Min;
        dataGridView1[5, 2] = Min;
        dataGridView1[6, 2] = Min;
    

如果 threr 是创建此 DGV 的更好方法,请告诉我。

【问题讨论】:

【参考方案1】:

试试

dataGridView1[1, 1] = (DataGridViewComboBoxCell)Max.Clone();

我认为你应该在这里使用for循环而不是12行相同的代码......

【讨论】:

以上是关于如何在同一个datagridview中多次使用定义的datagridview单元格的主要内容,如果未能解决你的问题,请参考以下文章

使用自定义数据源时如何隐藏 DataGridView 的列?

如何设计WinForm中DataGridView控件的自定义按钮列

如何防止 DataGridView 共享行?

数据绑定期间如何在datagridview中自定义格式数据

如何以编程方式定义 datagridview 中的列?

如何在DataGridView中加入自定义组件