yingnian_00 2014-11-26 13:22 采纳率: 0%
浏览 3256

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

我有一列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"这样的话也不会有问题,但我需要绑定。
实在没有头绪,不知道怎么回事。

  • 写回答

1条回答

  • a276538015 2014-12-02 03:05
    关注

    由于控件刷新后,清空了数据。

    评论

报告相同问题?

悬赏问题

  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 spring后端vue前端
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题