У меня проблемы с привязанной к данным базой данных dbagviewview
Я хочу удалить синюю линию выделения, которая появляется на комбинированной ячейке с данными.
Я заметил, что если комбинированная ячейка не связана с данными, но содержит набор элементов, синяя линия не появляется.однако в комбинированном ящике с привязкой к данным он есть.
коллекция элементов
С привязкой к данным
Вы увидите, что на первом рисунке естьсиней линии выделения нет, однако на следующем рисунке (комбинированная ячейка с привязкой к данным) есть ...
Мне нужно убрать эту строку выбора, чтобы, когда комбинированная ячейка с привязкой к данным имела только одну строку данных, пользователь мог пройти толькоклавиатурные входы могут сделать выбор.
Сначала я попытался добавить событие keyDown, чтобы установить Items [index], который изменил значение, однако, когда я покидаю ячейку, он отображает Имя модели и пространство имен.Затем, возвращаясь к ячейке, она отображает значение.
Я использовал следующий код, чтобы сделать это: я добавил событие комбинирования клавиш в выпадающий список, и вот событие 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
{
}
}
}
Теперь, когда я безуспешно попытался изменить заданное значение поля со списком, я перехожу к следующему возможному решению, которое я, возможно, смогу приступить к работе.
Если я могу сделать так, чтобы в поле со списком не было строки выборакогда он открывается первоначально, то, как только эта строка переходит к единственному элементу в списке, он выберет, чтобы дать возможность выбрать его в качестве значения.
ПРИМЕЧАНИЕ: работает комбинированная ячейка с данными, имеющая более одного элемента, работаетхорошо
ПРИМЕЧАНИЕ: комбинированная ячейка без привязки к данным с определенными элементами работает хорошо, однако мне нужен элемент отображения, а также элемент значения
Идеальный результат этого запроса даст мне возможность выбратьэлемент комбинированного списка данных (с использованием клавиши ENTER), когда в комбинированном блоке есть только один элемент.
Заключительное примечание: когда я использую мышь длялекция на comboboxcell с данными только 1 пункт, он работает отлично.
Спасибо за помощь, если кто-то может помочь