我正在使用带有4列的datagridview。我使用“Add”将所有值相加。没有数据表或数据源。这3列是一个ComboBoxColumn,其值可以编辑。当我在单元格中写入时,下拉列表会正确隐藏。然后我希望当我删除单元格中的所有字符串时(当单元格为空时),下拉列表会出现。
但在EditMode中,当我更改单元格原始值时(Ej:AAA)对于(Ej:BBB),用于获取值的代码始终显示原始值。
另外,我不知道显示下拉菜单的代码是否正确,因为我已经解释过这个问题。编辑:我检查,该部分工作正常。DroppedDown = true显示下拉列表。
private void DataGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
comboBoxHandler = e.Control as ComboBox;
if (comboBoxHandler != null)
{
comboBoxHandler.IntegralHeight = false; //Sin esto el MaxDropDownItems no funciona
comboBoxHandler.MaxDropDownItems = 10;
comboBoxHandler.DropDownStyle = ComboBoxStyle.DropDown;
comboBoxHandler.AutoCompleteSource = AutoCompleteSource.ListItems;
comboBoxHandler.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
comboBoxHandler.KeyPress -= ComboBox_KeyPress;
comboBoxHandler.KeyPress += ComboBox_KeyPress;
comboBoxHandler.LostFocus += Combo_LostFocus;
}
}
个字符
编辑:对于任何看到这段代码的人,请不要把这段(comboBoxHandler.KeyPress += ComboBox_KeyPress;,comboBoxHandler.LostFocus += Combo_LostFocus;)在“EditingControlShowing”中。
1条答案
按热度按时间daupos2t1#
使用comboBox TextChanged事件使下拉列表在comboBox为空时显示,在不为空时隐藏。但是我使用了ComboBox_KeyPress来隐藏下拉列表,因为我想要一个不同的行为。
字符串
实施例2:
型