Datagridview 组合框为空

Posted

技术标签:

【中文标题】Datagridview 组合框为空【英文标题】:Datagridview ComboBox is blank 【发布时间】:2012-01-13 22:41:09 【问题描述】:

我正在尝试在 datagridview 组合框中选择一个值,并且从所有谷歌搜索中我认为以下内容应该有效,但事实并非如此。下拉菜单最初是空白的问题。之后我可以手动选择一个值,它会被我的代码保存,但是当尝试恢复它时,组合框中的值是空白的。仅出于测试目的,我手动尝试将值设置为“tag1”,但即使这样也不起作用。

DataGridViewComboBoxColumn DropMenu = new DataGridViewComboBoxColumn();
DropMenu.Name = "Tag";
// getListState returns a list of strings
DropMenu.DataSource = SettingsSingelton.Instance.getListState();
DropMenu.ValueType = typeof(string); ;            

dataGridView1.Columns.Add(DropMenu);

for (int i = 0; i < dataGridView1.RowCount && i < storage.Count; i++)

  DataGridViewComboBoxCell cell = dataGridView1[3, i] as DataGridViewComboBoxCell;
  if (storage[i].tag != null || storage[i].tag != string.Empty)
  
    cell.Value = "tag1";
  

【问题讨论】:

只是快速浏览一下..你在哪里为dataGridView1做绑定 【参考方案1】:

您应该处理 CellFormatting 事件:

private void OnCellFormatting(object sender, DataGridViewCellFormattingEventArgs e)

      if (e.ColumnIndex == 0) 
      
          e.Value = "Default_Value";
      

【讨论】:

以上是关于Datagridview 组合框为空的主要内容,如果未能解决你的问题,请参考以下文章

根据多个组合框过滤查询,但如果组合框为空,则显示所有记录,包括空,

如果组合框为空,则 Excel 宏中的警告消息

如果组合框为空,combobox.removeAllItems 方法会抛出异常吗? [关闭]

如何允许用户在 c# 中的 datagridview 组合框中手动输入

DataGridView 与组合框列显示 System.Data.DataRowView 而不是 DisplayMember

检查是不是有任何文本框为空 wpf