0
votes

Impossible de lier l'identifiant sur le bouton avec la table générée à l'aide de SQLDatreader

J'ai été incapable de comprendre ce problème. J'ai utilisé un sqldatareader code> pour générer des données de ma base de données dans une vue en grille. J'ai essayé de générer des boutons sur chaque ligne, que je souhaite utiliser pour mettre à jour la base de données.

J'ai été incapable d'obtenir des valeurs de la table pour joindre aux boutons. J'espère lier l'identifiant mais rien que j'essaie des œuvres. P>

Voici mon code pour la requête de liaison de données d'origine: p>

foreach (TableRow row in gvAvailableLeaseSlips.Rows)
{
    TableCell btnCell = new TableCell();
    Button btn = new Button();

    btn.Text = "Lease Slip";
    btn.CssClass = "btn";
    btn.Click += new EventHandler(BtnLease_Click);

    btnCell.Controls.Add(btn);

    row.Cells.Add(btnCell);
}


0 commentaires

3 Réponses :


0
votes

Ce n'est pas la façon dont cela est fait. GridView a une propriété Datakeys qui doit être définie sur "ID" dans votre balisage. Ensuite, dans le gestionnaire d'événements de clic pour les boutons, ce qui semble être présent dans chaque ligne selon votre description, vous devez rechercher le datarow correspondant et demander son datakey qui va avoir votre identifiant comme un objet.


1 commentaires

P.s.: Cela fait de nombreuses années que j'ai travaillé sur ASP.NET, les détails exacts peuvent varier légèrement, mais le processus devrait être comme ce que j'ai écrit.



1
votes

Vous ne pouvez pas lier une grille d'un digne de données comme celle-ci. Modifiez le code comme xxx

ou vous pouvez utiliser un jeu de données pour remplir la grilleview

également, dans GridView, vous pouvez autogénérer le bouton d'édition pour mettre à jour les valeurs Dans GridView Properties Ajouter AutoGnerateEditButton = TRUE


1 commentaires

Cela m'a beaucoup aidé. Merci pour ça.



0
votes

Après avoir défini la propriété Datakeys pour votre GridView, ce serait: XXX


0 commentaires