- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我知道这可能是重复的,但我一直无法找到有效的解决方案。我有一个带有组合框列的数据 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/
应用程序启动时DataGridViewComboBoxCell显示正常 选择值后,当前行和后续行的背景将变为黑色(见下文)。我使用了默认的 DataGridView 并且没有字体操作 我尝试更改 Ce
我有一个使用多个 DataGridView 控件的项目。大多数单元格都属于 DataGridViewTextBoxCell 说服力。我这样声明我的控件: Dim MyCell as DataGridV
我的 DataGridView 上有一个 DataGridViewComboBoxColumn。这是我的自定义单元格绘制处理程序: private void dataGridView_CellPain
我有两个在运行时添加的 DataGridViewComboBoxColumn 我需要第一个 DataGridViewComboBoxColumn 的项目在 gridview 的所有行中保持相同但我希望
组合框默认显示空白字段,即使组合框填充了多个值也是如此 ColumnSpeed.DataSource = speedList; ColumnSpeed.ValueType = typeof(strin
我们的 DataGridView 中有一列,用户可以从组合框中为其选择一个值 (DataGridViewComboBoxColumn)。我们有一些用于选择的验证逻辑(覆盖 OnCellValidati
我有一个 DataGridView,其中有一列作为 ComboBox这是我用来创建列然后为每一行更新 DataSource 的代码。 var dTable = new DataTable(); dTa
我正在使用 Datagridview,通过设置 DataPropertyNames 部分由数据源填充。部分由我在代码中填写。我有一个 DataGridViewComboBoxColumn,当我单击
为了调出 DataGridViewComboBoxCell 的菜单,我首先必须单击: 1)我要编辑的单元格所在的行 2)在我要编辑的单元格内 3)我想再次编辑,以打开单元格的组合框。 如果已经选择了另
这就是我的情况。我有一个 DataGridView,它有两列,我试图将它们设置为 DataGridViewComboBoxColumns,称为“已接收”和“缺货”。 这些组合框的目的是创建一个下拉菜单
我需要将数据库中的不同值添加到表 1(id、名称、...)中的 DataGridViewComboBoxColumn,并且必须选择值(名称)。 我的代码: SqlDataAdapter coursea
这是我的代码: private class Person { private string myName; privat
我在设置 DataGridViewComboBoxCell 的值时遇到问题。 datagridview 列与选项/值绑定(bind),但是当我尝试使用 dgv.Rows.Add 为 comboBoxC
我知道这可能是重复的,但我一直无法找到有效的解决方案。我有一个带有组合框列的数据 GridView 。当我不尝试设置组合框列的值时,一切都很好(即组合框列正在填充)。当我尝试设置该值时,出现臭名昭著的
所以我的目标是一旦用户单击下拉列表中的项目,单元格将自动调用 EndEdit()。最奇怪的是,下面的代码将在我下拉的第 2-n 个 ComboBoxesCells 上工作,并从中选择值,但绝不是第一个
我在 C# winform 应用程序中有一个带有 datagridviewcomboboxcell 的 datagridview。因为 CellValueChanged 事件触发,所以我可以很容易地捕
我有 DataGridViewComboBoxCell 和一个 DataTable。 Table I中的数据使用DataSource绑定(bind)DataGridViewComboBoxCell,并
我一直在上下寻找执行以下操作的方法,但无济于事。我提出了一个可行的解决方案,但想知道是否有更好的处理方法。 问题: 我正在使用具有两个 DataGridViewComboBoxColumn、col1
我一天中的大部分时间都在为此工作,但解决方案仍然让我难以捉摸。我的 Winform 应用程序包含一个 DataGridView其中两列是ComboBox下拉列表。奇怪的是,DataGridView似乎
我有一个窗体 DataGridView包含一些 DataGridViewComboBoxCell使用 DataSource 绑定(bind)到源集合的 s , DisplayMember和 Value
我是一名优秀的程序员,十分优秀!