如何更改数据绑定列的单元格类型

时间:2019-02-15 15:34:42

标签: c# datagridview datagridviewcolumn

我有一个var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-XXXXXXXX-X']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = 'https://ssl.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })(); ,它通过datagridview绑定到dataset,而table adaptor又链接到SQL表。

enter image description here

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

我已经尝试过:

 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) { }
    }

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

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

1 个答案:

答案 0 :(得分:0)

我遵循了该指南,该指南使我可以更改单元格类型:

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

执行完此操作后,我得到了data_error,我通过忽略数据错误事件来修复了该错误。我知道这并不是正确的做事方式,但是对我有用。

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