【问题标题】:Set selectedValue in DataGridViewComboBoxColumn在 DataGridViewComboBoxColumn 中设置 selectedValue
【发布时间】:2013-08-19 13:15:40
【问题描述】:

我有两个表:列和表(外键 - Table_ID)。我想用组合框在 dataGridView 中显示列。在组合框中显示相关表(名称表)和选定的项目是在列中设置的值。

List<columns> columns = DataLoader.GetColumns();
List<tables> tables = DataLoader.GetTables();

this.editingDataGridView.DataSource = columns; // my dataGridView
DataGridViewComboBoxColumn comboBoxColumn = new DataGridViewComboBoxColumn();

comboBoxColumn.DisplayMember = "Table_Name";
comboBoxColumn.ValueMember = "Table_ID";
comboBoxColumn.DataSource = tables;

//add combobox column in dataGrid
this.editingDataGridView.Columns.Add(comboBoxColumn);

//AND this i want set value
int index = this.editingDataGridView.Columns.IndexOf(comboBoxColumn);
for (int i = 0; i < columns.Count; i++)
{
   this.editingDataGridView.Rows[i].Cells[index].Value = columns[i].Table_ID;
}

运行后,我得到带有数据源的组合框列的gridView,但没有选择默认值!

【问题讨论】:

  • 所选值取决于底层数据源的当前行。你想要的默认值是多少?
  • 包含在字段 Table_ID 的列表列中。我在循环中添加 combobxColumn 后执行此操作(对于我从列列表中设置的每个组合单元格)
  • @KingKing 示例,在对象列中,我有字段 Table_id = 1,在将数据源加载到组合框后,我希望所选值等于 1!

标签: c# winforms gridview combobox


【解决方案1】:

关键是

comboBoxColumn.DataPropertyName = "Table_ID";

需要设置dataGridComboBoxColumn的DataPropertyName

More this

【讨论】:

    【解决方案2】:

    在 vb.net 中,我找到了这个解决方案

    Dim cbx As DataGridViewComboBoxCell = dgvEstudios.Rows(x).Cells(1)
    cbx.Value = Trim("String value")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-19
      • 2014-01-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-06
      相关资源
      最近更新 更多