Ho un modulo con un DataGridView (di 3 colonne) e un pulsante. Ogni volta che l'utente fa clic su un pulsante, voglio ottenere i valori memorizzati nella prima colonna di quella riga.C#: Seleziona riga da DataGridView
Ecco il codice che ho:
private void myButton_Click(object sender, EventArgs e)
{
foreach (DataGridViewRow row in ProductsGrid.Rows)
{
if (this.ProductsGrid.SelectedRows.Count == 1)
{
// get information of 1st column from the row
string value = this.ProductsGrid.SelectedRows[0].Cells[0].ToString();
}
}
}
Tuttavia quando faccio clic su myButton, il this.ProductsGrid.SelectedRows.Count è 0. Inoltre, come faccio a garantire che l'utente seleziona solo una riga e non più righe? Questo codice sembra corretto?
Non è necessario per scorrere (foreach) su tutte le righe del DataGrid per ottenere solo il primo SelectedRow. Il ciclo di foreach è una perdita di tempo qui. –