Я пытаюсь выяснить, как я могу изменить значение определенной ячейки в выбранной строке сетки данных.Я могу изменить значение, но не в выделенной строке, только в первой.Подсветка строки определяется в коде кнопки «найти».
Например: я ввожу текст, он ищет в каждой строке этот текст в определенном столбце, а затем прокручивает и выделяет / выделяет весь текст.строка.(Это работает отлично)
Затем я хочу иметь возможность получить значение определенной ячейки выделенной строки, выбрав имя столбца, уже присутствующее в раскрывающемся списке (выпадающий список).Затем он получает значение этой ячейки и вычитает из него значение, присутствующее в numericUpDownCounter (nudQTY).
Пока я могу сделать это для разных ячеек, выбранных по имени столбца (cbSupplList), но он делает это толькопервая строка, а не выделенная строка, определенная кнопкой «Найти». Код.
Пока моя попытка сделана следующим образом:
private void btnFind_Click(object sender, EventArgs e)
{
/* Code to search the alphanumneric Part Number (in Column1 header called "PART NUMBER")
and highlihgt the row*/
foreach (DataGridViewRow row in dataGridView1.Rows)
{
// Removes the row selection
row.Selected = false;
var cellValue = row.Cells["PART NUMBER"].Value;
if (cellValue != null && cellValue.ToString() == tbPartNum.Text.ToUpper())
{
// Scrolls the found row up and highlights the entire row
row.Selected = true;
dataGridView1.FirstDisplayedScrollingRowIndex = row.Index;
}
}
}
private void btnSold_Click(object sender, EventArgs e)
{
int cellVal;
int newCellVal;
cellVal = Convert.ToInt32(dataGridView1.CurrentRow.Cells[cbSuppList.Text.ToString()].Value);
newCellVal = Convert.ToInt32(cellVal - nudQty.Value);
dataGridView1.CurrentRow.Cells[cbSuppList.Text.ToString()].Value = newCellVal;
}
Возможно, это связано с ВЫБРАННОЙ СТРОКОЙв коде «Поиск» и ТЕКУЩЕЙ СТРОКЕ в коде «Продано».Создание SELECTED.ROW = CURRENT.ROW решит это ... любые идеи?