有没有办法在datagridview上的数据绑定combox中删除选择行(突出显示)?

问题描述 投票:1回答:1

我在使用数据绑定datagridviewcomboboxcell时遇到问题

我想删除数据绑定组合单元上出现的蓝色选择线。

我注意到如果组合单元不是数据绑定但有一组项目,则不会出现蓝线。但是数据绑定组合框确实有它。

item collection

Databound

您将在第一张图片中看到没有蓝色选择线但是在下一张图片(数据库组合框单元格)中有...

我需要取走这条选择线,这样当数据绑定组合框只有一行数据时,用户只能通过键盘输入进行选择。

我最初尝试添加一个keyDown事件来设置Items [index]确实改变了值,但是,当我离开单元格时,它会显示Model Name和名称空间。然后当返回到单元格时,它显示值。

我使用以下代码执行此操作:我向组合框添加了一个keydown事件,这里是keydown事件

private void dataGridView_KeyDown(object sender, KeyEventArgs e)
    {

        if (e.KeyCode == Keys.Enter)
        {
            if (dataGridView1.Columns[dataGridView1.CurrentCell.ColumnIndex].CellType.Name == "DataGridViewComboBoxCell" && dataGridView1.CurrentCell.ReadOnly == false)
            {
                DataGridViewRow row = dataGridView1.CurrentRow;
                try
                {
                    if ((row.Cells[dataGridView1.CurrentCell.ColumnIndex] as DataGridViewComboBoxCell).Items.Count == 1)
                    {
                        (dataGridView1.CurrentRow.Cells[dataGridView1.CurrentCell.ColumnIndex] as DataGridViewComboBoxCell).Value = taxcodes[0];
                        (dataGridView1.CurrentRow.Cells[dataGridView1.CurrentCell.ColumnIndex] as DataGridViewComboBoxCell).DisplayMember = "FullDescription";
                        (dataGridView1.CurrentRow.Cells[dataGridView1.CurrentCell.ColumnIndex] as DataGridViewComboBoxCell).ValueMember = "TaxID";

                    }


                }
                catch
                {

                }
            }
        }

现在我试图改变设置组合框的值而没有运气,我正在寻找下一个可能的解决方案,我可以开始工作。

如果我可以让Combobox在最初打开时没有选择行,那么只要该行移动到列表中的唯一项目,它就会选择能够选择该值作为值。

注意:具有多个项目的数据绑定组合框,效果很好

注意:具有定义项目的非数据绑定组合单元效果很好,但是我需要一个显示成员和值成员

当组合框只有一个项目时,此查询的理想结果将使我能够选择数据绑定组合框项目(使用ENTER键)。

最后注意:当我使用鼠标在仅有1个项目的数据绑定组合框上进行选择时,它可以完美地工作。

如果有人可以提供帮助,感谢您的帮助

c# datagridview datagridcomboboxcolumn
1个回答
0
投票

所以在咨询了朋友之后,我设法覆盖了.ToString()方法

public override string ToString()
{
     return FullDescription;
}

在这种情况下,这对我有用,而且Keydown路线是正确的路线。

© www.soinside.com 2019 - 2024. All rights reserved.