2012-09-14 17 views
6

Ho questo codice nel mio programma C#, ma getta una misura quando alcuni pulsanti vengono cliccati, perché non v'è alcuna riga selezionata nella DataGridView (io uso il metodo clearSelection):C# Datagridview - Controllare riga è selezionata

string selectedUser = usersGrid.SelectedRows[0].Cells[1].Value.ToString(); 

C'è qualche tipo di controllo che posso fare prima della riga sopra per garantire che una riga sia selezionata?

+0

Pensavo che il mio post fosse abbastanza chiaro e che i ragazzi di sotto avessero esattamente ciò che era sbagliato. Ci scusiamo per qualsiasi confusione. – hshah

risposta

19
if (usersGrid.SelectedRows.Count > 0) 
+1

Perfetto! Grazie :) – hshah

2

ho intenzione di prendere una pugnalata a quello che penso che si sta cercando di fare, provare questo sotto

private void myButton_Click(object sender, EventArgs e) 
{ 
    foreach (DataGridViewRow row in usersGrid.Rows) 
    { 
     if (this.usersGrid.SelectedRows.Count == 1) 
     { 
     // get information of 1st column from the row 
     string selectedUser = this.usersGrid.SelectedRows[0].Cells[0].ToString(); 
     } 
    } 
} 

anche effettuare le seguenti operazioni come bene e checkout il link

Set DataGridView.MultiSelect = false e DataGridView.SelectionMode = FullRowSelect. Questo renderà così l'utente può selezionare solo una singola riga alla volta.

+0

Anche questo funziona, ma preferisco il> 0 di cui Tergiver ha menzionato :) – hshah

+0

che è la tua scelta se così basta refactoring la mia risposta per adattarsi al tuo caso d'uso .. – MethodMan

Problemi correlati