gpt4 book ai didi

c# - DataGridViewComboBoxCell 值无效 #2

转载 作者:太空宇宙 更新时间:2023-11-03 15:38:50 25 4
gpt4 key购买 nike

我知道这可能是重复的,但我一直无法找到有效的解决方案。我有一个带有组合框列的数据 GridView 。当我不尝试设置组合框列的值时,一切都很好(即组合框列正在填充)。当我尝试设置该值时,出现臭名昭著的“DataGridViewComboBoxCell 值无效”错误。这是我的代码:

//Retrieve Data
System.Data.DataRowCollection DR1 = GetData(constants.SQL_1);
System.Data.DataRowCollection DR2 = GetData(constants.SQL_2);

//Populate list for combo box column
List<string> list2 = new List<string>();
foreach (System.Data.DataRow DR in DR2)
list2 .Add(DR["fieldname"].ToString().Trim());

//Set datasource of combo box column
DataGridViewComboBoxColumn cmb = (DataGridViewComboBoxColumn)dgv.Columns["comboboxcolumnname"];
cmb.ValueType = typeof(string);
cmb.DataSource = list2 ;

//Populate Data Grid View
foreach (System.Data.DataRow DR in DR1)
{

DataGridViewComboBoxCell cell = new DataGridViewComboBoxCell();
cell.Value = DR["fieldname"].ToString();

DataGridViewRow row = new DataGridViewRow();

row.Cells.Add(cell);
dgv.Rows.Add(row);

}

如何设置组合框的值??

最佳答案

在此Post ,它建议根本不要设置组合框列的数据源属性。所以这就是我所做的:

System.Data.DataRowCollection DRC1 = dictionaries.GetData(constants.SQL_1);
System.Data.DataRowCollection DRC2 = dictionaries.GetData(constants.SQL_2);

foreach (System.Data.DataRow DR1 in DRC1)
{
DataGridViewComboBoxCell cmb = (DataGridViewComboBoxCell)dgv[0, dgv.Rows.Count - 1];

foreach (System.Data.DataRow DR2 in DRC2)
{
cmb.Items.Add(DRC2["fieldname2"].ToString().Trim());
}

cmb.Value = DRC1["fieldname1"].ToString();
}

关于c# - DataGridViewComboBoxCell 值无效 #2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30896745/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com