DataGridView a sélectionné les valeurs de colonne de la ligne dans la zone de texte

la programmation

[ad_1]

Bonjour, j’ai besoin d’aide pour obtenir les valeurs de datagridview dans les zones de texte, j’ai un datagridview qui récupère les données de SQL qui compte 4 colonnes et le nombre de lignes récupérées à partir de SQL, j’ai 4 zones de texte, je veux que les valeurs de colonne de la ligne sélectionnée par datagridview soient zones de texte.

Veuillez donner des conseils à ce sujet.

Solution 1

Vous voudrez probablement répondre au Événement DataGridView.SelectionChanged[^].
Dans son gestionnaire, vérifiez si une seule ligne a été sélectionnée, puis récupérez les valeurs de cette ligne et placez-les dans les zones de texte.

C#
private void DataGridView1_SelectionChanged(object sender, EventArgs e)
{
  if( DataGridView1.SelectedRows.Count = 0 )
  {
    TextBox1.Value = DataGridView1.SelectedRows(0).Cells(0).Value;
    TextBox2.Value = DataGridView1.SelectedRows(0).Cells(1).Value;
    TextBox3.Value = DataGridView1.SelectedRows(0).Cells(2).Value;
    TextBox4.Value = DataGridView1.SelectedRows(0).Cells(3).Value;
  }
}

Le code n’a pas été testé et peut contenir des fautes de frappe.

Assurez-vous que le Propriété DataGridView.SelectionMode[^] est réglé sur FullRowSelect pour que cela fonctionne.

Vous pouvez utiliser Propriété DataGridView.MultiSelect[^] pour vous assurer qu’une seule ligne est sélectionnée à la fois.

Solution 3

Salut, ça va bien maintenant

C#
private void dgviewSearch_CellcontentClick(object sender, DataGridViewCellEventArgs e)
{
int i;
i = dgViewSearch.SelectedCells[0].RowIndex;
textBox3.Text = dgViewSearch.Rows[i].Cells[1].Value.ToString();
textBox4.Text = dgViewSearch.Rows[i].Cells[3].Value.ToString();
}

Merci beaucoup pour votre aide, j’attends avec impatience une sélection multiple sur datagridview dans une zone de texte avec, (virgule) comme (2001,2002,2003)

Solution 2

Enregistrez l’événement MouseClick de la grille et utilisez le code suivant.

C#
private void dataGridView1_MouseClick(object sender, MouseEventArgs e)
{
    DataGridViewRow dr = dataGridView1.SelectedRows[0];
    textBox1.Text = dr.Cells[0].Value.ToString();
     // or simply use column name instead of index
    //dr.Cells["id"].Value.ToString();
    textBox2.Text = dr.Cells[1].Value.ToString();
    textBox3.Text = dr.Cells[2].Value.ToString();
    textBox4.Text = dr.Cells[3].Value.ToString();
}

Et ajoutez la ligne suivante dans votre événement de chargement

C#
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;

Solution 8

private void dgvAllUsers_CellContentClick (expéditeur d’objet, DataGridViewCellEventArgs e)
{

si (e.RowIndex >= 0)
{
Ligne DataGridViewRow = this.dgvAllUsers.Rows[e.RowIndex];

textId.Text = rangée.Cellules[“idUser”].Value.ToString();
textFullName.Text = rangée.Cellules[“FullName”].Value.ToString();
textUserName.Text = rangée.Cellules[“UserName”].Value.ToString();
textPassword.Text = ligne.Cells[“Password”].Value.ToString();
textAddress.Text = rangée.Cellules[“Address”].Value.ToString();
textGender.Text = rangée.Cells[“Gender”].Value.ToString();
textContactNumber.Text = rangée.Cellules[“ContactNumber”].Value.ToString();
ComboUserType.SelectedText = rangée.Cells[“UserType”].Value.ToString();
}
}

Solution 9

Utilisez toujours l’événement GridView1_CellEnt car si vous déplacez vos cellules avec les touches fléchées ou cliquez avec la souris, cela sera utile pour les deux.
et utilisez toujours if (dataGridView1.SelectedCells.Count > 0) sinon vous devez sélectionner la ligne complète.
dataGridView1_CellEnter privé vide (expéditeur d’objet, DataGridViewCellEventArgs e)
{
if (dataGridView1.SelectedCells.Count > 0) // assurez-vous que l’utilisateur sélectionne au moins 1 ligne
{

DataGridToTextboxes(e.RowIndex);

}
}

privé vide DataGridToTextboxes (int x)
{

chaîne Item1 = dataGridView1.Rows[x].Cellules[1].Value + chaîne.Empty;

// chaîne SrNo = selectedRows.Cells[0].Value + chaîne.Empty;
// chaîne Item1 = selectedRows.Cells[1].Value + chaîne.Empty;

chaîne MinRange = dataGridView1.Rows[x].Cellules[2].Value + chaîne.Empty;
chaîne MaxRange = dataGridView1.Rows[x].Cellules[3].Value + chaîne.Empty;

chaîne MinStable = dataGridView1.Rows[x].Cellules[4].Value + chaîne.Empty;
chaîne MaxStable = dataGridView1.Rows[x].Cellules[5].Value + chaîne.Empty;

txtItem.Text = Article1 ;
TextMinRange.Text = MinRange ;
TextMaxRange.Text = MaxRange ;
TextMinStable.Text = MinStable ;
TextMaxStable.Text = MaxStable ;
}

[ad_2]

コメント

Titre et URL copiés