0 0

C# DataGridView绑定数据源后ComboBoxCell的Items下拉列表为什么会被清空0

我有一列DataGridViewComboBoxColumn,每个cell的下拉列表内容不同,于是循环
for(int i = 0, i < max, i++)
{
    dgv.Rows.Add(new DataGridViewRow());
    DataGridViewComboBoxCell cell = dgv.Rows[i].Cells[1] as DataGridViewComboBoxCell; //第二列
    //comboCol.Items.AddRange(list[i].toArray()); //comboCol 第二列名
    cell.Items.AddRange(list[i].toArray());
}


然后给DataGridView绑定数据源
dgv.DataSource = new BindingList<object>(objList);
dgv.Columns[0].DataPropertyName = "col1";
dgv.Columns[1].DataPropertyName = "col2";


在绑定这三行代码的前后分别检查第二列某行cell的Items.Count发现绑定前有长度,但是绑定后长度为0,也就是给这些cell添加的下拉项都清空了!绑定后再次添加项也没用,还是会清空。
另外在循环里如果用注释掉的那行代码,也就是给整列添加项,那就没有问题,但是就不能满足我每个cell下拉内容不同这个需求。
又试了试发现如果不绑定,直接给cell赋值,cell.Value = "v1"这样的话也不会有问题,但我需要绑定。
实在没有头绪,不知道怎么回事。
2014年11月26日 09:49
目前还没有答案

相关推荐

    C# datagridview 与数据源绑定后对数据的,增加,删除,插入,更新

    本教程将深入探讨在C#中,当DataGridView与数据源绑定后如何进行数据的增加、删除、插入和更新操作。 ### 数据源绑定 首先,我们需要创建一个数据源,这可以是任何实现了`IList`或`IBindingList`接口的对象,如...

    c# DataGridView中添加下拉列表

    如果你的下拉列表项来源于数据源,如数据库或列表,你需要先绑定数据源再添加到列中: ```csharp List&lt;string&gt; optionsList = new List&lt;string&gt; { "Option1", "Option2", "Option3" }; comboBoxColumn....

    C#WinForm中DataGridView表头下拉列表

    而"DataGridView表头下拉列表"的功能,是允许用户通过表头上的下拉列表来快速筛选或选择列的特定值,极大地提升了用户体验和数据操作的效率。这个特性特别适用于大型数据集,使得用户能够更直观、快速地定位和操作...

    C# datagridview 绑定数据后绑定标题

    当我们谈论“C# datagridview 绑定数据后绑定标题”,这意味着我们需要将数据源与`DataGridView`关联,并自定义列头显示。 首先,让我们了解如何绑定数据到`DataGridView`。数据可以来自各种来源,例如数据库、数组...

    DataGridView列头添加下拉列表实现数据过滤

    然而,为了提供更高级的用户体验,有时我们需要为`DataGridView`的列头添加下拉列表功能,以实现数据过滤。这通常涉及到自定义列头单元格类型,以及对事件处理和数据绑定的深入理解。 标题“DataGridView列头添加...

    c#DataGridView数据绑定示例 多列混合排序

    首先,`DataGridView`的数据绑定通常涉及到数据源的设置。数据源可以是数组、列表、数据库查询结果等。以下是一个简单的数据绑定示例: ```csharp DataTable dataTable = new DataTable(); // 添加数据列 dataTable...

    自定义的C#DataGridView下拉列表单元格

    在自定义类似dropdownlist类型的单元格时,按照通常的方法,在点击输入的时候显示的是正常的文本,而输入完成后单元格显示的是实际值,并不符合我们的合适习惯. 本例通过在EditingControlFormattedValue中返回combobox...

    给DataGridView表头添加下拉列表实现数据过滤

    DataGridView是一种用于显示表格数据的控件,它可以与各种数据源(如数据库、数组或集合)绑定,并提供了丰富的功能,如排序、分页和编辑。在本场景中,我们将利用它的自定义列头特性来添加下拉列表。 1. **创建...

    DataGridView数据源绑定

    ### DataGridView数据源绑定详解 在.NET框架中,`DataGridView` 控件是用于显示表格数据的强大工具,它提供了丰富的功能来处理各种类型的数据。本篇将详细介绍 `DataGridView` 的数据源绑定方法及其相关操作,包括...

    C# DataGridView绑定数据源的方法

    复杂数据绑定是将一个以列表为基础的用户控件(例如:ComboBox、ListBox、ErrorProvider、DataGridView等控件)绑定至一个数据对象的列表。例如,我们可以使用BindingSource组件来绑定数据源。 ```csharp private ...

    dataGridView动态绑定数据下拉框

    本话题将深入探讨如何实现“dataGridView动态绑定数据下拉框”的功能,即在dataGridView的某一列展示一个动态生成的下拉框,其内容来源于数据库字段,并且能够与文件列名建立对应关系,从而实现数据的导入。...

    C#实现绑定DataGridView与TextBox之间关联的方法

    总之,C#实现`DataGridView`与`TextBox`之间的关联,主要依赖于数据绑定机制,通过`DataSet`、`DataTable`和`CurrencyManager`对象,以及`DataBindings.Add`方法,可以轻松实现数据源与界面控件间的双向同步。...

    c#使用bindlist绑定datagridview不能自动排序的解决类

    当与`BindingList&lt;T&gt;`结合使用时,可以通过简单的代码将数据源绑定到`DataGridView`上。但是,由于`BindingList&lt;T&gt;`默认不支持自动排序,因此在进行数据排序时需要额外的处理。 #### 实现自定义SortableBindingList...

    DataGridView空间绑定数据源

    本教程将深入探讨如何将数据源绑定到`DataGridView`控件,以便在界面上展示数据。 一、数据源的类型 `DataGridView`控件可以绑定多种类型的数据源,包括但不限于: 1. 数组或集合:如ArrayList、List等。 2. 数据表...

    DataGridView手动添加数据(非数据源绑定)

    总之,这个代码展示了如何在C#的Windows Forms应用中,不依赖数据源绑定而手动向DataGridView添加数据。它利用了事件驱动编程和计时器控件来实现动态添加数据的效果。对于初学者或需要理解手动操作DataGridView数据...

    C# WinForm (DataGridViewComboBoxColumn 绑定)自己写的,最简单实例

    为了将`DataGridViewComboBoxColumn`与实际数据绑定,你需要定义一个数据源,如`BindingSource`或直接使用数据表。假设你有一个数据表`DataTable dt`,你可以这样设置: ```csharp dataGridView1.DataSource = dt; ...

    DataGridView控件中加入ComboBox下拉列表框

    3. **绑定数据**:将数据源绑定到`DataGridView`,确保每个单元格都有对应的数据。 ```csharp dataGridView.DataSource = myDataTable; // 假设myDataTable是数据源 ``` 4. **事件处理**:可能需要监听`...

Global site tag (gtag.js) - Google Analytics