2009-06-04 6 views
1

Je sais que ce sera facile, mais je n'arrive pas à le trouver nulle part. Comment définissez-vous la ligne actuelle dans un gridview? Je trouve des tonnes de façons d'obtenir des données à partir de celui-ci, mais j'ai quoi définir une ligne ou une cellule en cours de programmation. J'utilise VB 2008 Express. Je trouve aussi beaucoup de propriétés prometteuses comme Selected ... mais elles sont toutes en lecture seule et je ne peux pas les définir.Comment définir une ligne ou une cellule spécifique dans un gridview (vb 2008)

+0

I a fini par la sélection de la cellule la plus à gauche de la ligne désirée avec mainGrid.CurrentCell = mainGrid (0, SelectedRow). Cela peut être une manière dont Microsoft prend en charge leurs fournisseurs de contrôle tiers. – jrcs3

Répondre

2

Vous pouvez utiliser la propriété SelectedIndex pour définir la ligne actuelle.

+0

Pour plus d'informations sur la propriété SelectedIndex, allez à: http://msdn.microsoft.com/fr-fr/library/system.web.ui.webcontrols.gridview.selectedindex.aspx – Americus

0

Ceci pourrait fonctionner pour vous. Disons que vous avez besoin de sélectionner toutes les lignes où nous avons plus de 100 articles en stock:

Private Sub btnSelectRow_Click(object sender, EventArgs e) Handles btnSelectRow.Click 
    For Each r1 as DataGridViewRow in dataGridView1.Rows 
     If r1.IsNewRow Then 
      Exit For 
     End If 
     If Convert.ToInt32(r1.Cells(5).Value) > 100 Then 
      r1.Selected = True 
     End If 
    Next   
End Sub 

est ici la même chose en C#:

private void btnSelectRow_Click(object sender, EventArgs e) 
{ 
    foreach (DataGridViewRow r1 in this.dataGridView1.Rows) 
    { 
     if (r1.IsNewRow) break; 
     if ((int)r1.Cells[5].Value > 100) 
     { 
      r1.Selected = true; 
     } 
    } 
} 

Bien sûr, vous pouvez utiliser des critères pour sélectionner une rangée, mais cela vous donne une idée. J'espère que cela pourra aider.

Questions connexes