首页 > 解决方案 > 如何更改数据绑定列的单元格类型

问题描述

我有一个datagridview绑定到一个dataset通过一个table adaptor又链接到一个 SQL 表的。

在此处输入图像描述

我想将状态和优先级列的单元格类型更改为组合框。

我试过这个:

 private void dgvFechas_ColumnAdded(object sender, DataGridViewColumnEventArgs e)
    {
        try
        {
            if (e.Column.ValueType == typeof(TextBox) && (e.Column.Index == 5) || (e.Column.Index == 6))
            {
                e.Column.CellTemplate = new DataGridViewComboBoxCell();
            }
        }
        catch (Exception ex) { }
    }

但似乎在程序启动时事件处理程序不会触发。

所以我不太确定如何让它工作。

标签: c#datagridviewdatagridviewcolumn

解决方案


我遵循了本指南,该指南允许我更改单元格类型:

https://social.msdn.microsoft.com/Forums/windows/en-US/c6d60712-135e-4fd3-a6a0-51dbb4be0dca/how-to-add-combobox-to-winform-datagridview-bound-to-datatable?论坛=winforms

这样做之后,我得到了一个 data_error,我通过忽略数据错误事件来修复它。我知道这不是真正正确的做事方式,但它对我有用。

 private void dataGridView1_DataError(object sender, DataGridViewDataErrorEventArgs e)
    {
        //ignore
    }

推荐阅读