asp.net gridview ne pas afficher les données
protected void Button1_Click1(object sender, EventArgs e)
{
SqlConnectionStringBuilder connb = new SqlConnectionStringBuilder(ConfigurationManager.ConnectionStrings["SCS"].ConnectionString);
using (SqlConnection conn = new SqlConnection(connb.ConnectionString))
{
SqlCommand cmd = new SqlCommand("Select * from dbo.Users;", conn);
DataTable tb = new DataTable();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(tb);
tb.AcceptChanges();
GridView1.DataSource = tb;
GridView1.DataBind();
}
}
C'est mon code en C# asp.net application. Je veux afficher la table SQL dans gridview.
<Columns>
<asp:BoundField ItemStyle-Width="150px" DataField="name" HeaderText="name" />
<asp:BoundField ItemStyle-Width="150px" DataField="lastname" HeaderText="lastname" />
<asp:BoundField ItemStyle-Width="150px" DataField="ID" HeaderText="ID" />
</Columns>
IL montre vide gridview(Lorsque j'appuie sur button1). Il ne montre aucun message d'erreur. Chaîne de connexion fonctionne, la commande SQL affecte des lignes, Mais ça ne fonctionne toujours pas afficher les données sur gridview!!!
Quelqu'un peut m'aider?
- Avez-vous essayé de débogage et de vérifier qu'il n'y est fait des données dans la table quand il est lié aux données?
- Oui j'ai essayé, mais dans les windows forms.
- Est-il exact id
GridView1
- Avez-vous essayé le débogage de votre page web pour s'assurer que button1 est correctement raccordé à la méthode, et pour s'assurer qu'il y a des lignes dans
tb
? - Voir ma réponse. j'espère qu'il peut vous aide à stackoverflow.com/a/20855275/2218635
- Button1 est bien le travail. J'ai essayé de faire d'autres choses en appuyant sur button1 et cela a fonctionné. Oui ct contient des lignes!
- Ce que vous avez essayé? avez-vous mis AutoGenerateColumns="false" dans votre grille de point de vue? puis-je voir qui? merci de poster votre plein gridview code.
- cher veuillez vérifier la datafield="" ont le même nom en tant que colonnes dans la datatabel ou dans la base de données
Vous devez vous connecter pour publier un commentaire.
Semble que votre requête n'est jamais exécuté
Cela devrait avoir lieu avant cette ligne
Vous devez définir
AutoGenerateColumns="false"
, si vous voulez lier spécifier la colonne.S'il vous plaît vérifierEt aussi besoin de vérifier la avez-vous mis
visible="false"
oustyle="display:none"
dans votre gridviewEt vérifier
DataField
doit correspondait à la tablecolumn
nomVous pourriez obtenir exception dans
DataBind()
- utiliser untry-catch
bloc. Cela pourrait se produire en raison d'un manque de colonne dans laDataTable
qui est utilisée dans un champ lié.J'ai eu un problème lorsque je recevais des données dans la source de données et le contrôle GridView n'était pas présente à tous. J'ai eu AutoGenerateColumns = "true" dans le contrôle Gridview définition sur la page. Pour une raison quelconque, lorsque j'ai mis en place un point d'arrêt et regarda les propriétés de la Gridview dans le code derrière, c'était toujours la valeur false. Je l'ai mis à true dans le code derrière avant de la Gridview égal à la source de données et de faire le databind. Qui ont travaillé.