6
votes

ASP.NET Lier par programme par programme à GridView

J'ai un ensemble de données avec environ 15 colonnes et j'ai également une GridView ASP.NET. Je me demandais si quelqu'un savait comment je peux remplir la grille avec le jeu de données, mais je veux juste que quelques-unes des colonnes de l'ensemble de données.

Pour le moment je fais juste P>

    GridView1.DataSource = ds;
    GridView1.DataBind();


1 commentaires

Ensuite, vous pouvez sélectionner les quelques colonnes dans le jeu de données.


5 Réponses :


7
votes

La grille de vue par défaut générera automatiquement toutes les colonnes en fonction des données liées.

SET GRIDVIEW.AUTOGENERATECOLUMNS = FALSE puis définissez les colonnes que vous souhaitez via la propriété gridview.Columns


0 commentaires

1
votes

Définissez les grilles autogénéréesColumns sur False et définissez les colonnes que vous souhaitez utiliser dans le concepteur GridView ou dans le code. Mais vous devez définir la propriété Datafield sur la colonne de la même manière que le nom de


0 commentaires

10
votes

Vous souhaitez donc créer des colonnes au moment de l'exécution? Essayez ceci:

http://www.codeproject.com/kb/aspnet/dynamic_columns_in_grid .aspx

Alternativement, vous pouvez configurer votre gridview à l'avance à l'avance dans l'ASPX: xxx

et assurez-vous de définir AutogenerateColumns à False.


0 commentaires

2
votes

Deux façons de le faire, en fonction de ce que vous pouvez changer et de ce qui doit rester comme c'est le cas:

1) Si vous avez le contrôle de la requête / Proc qui génère l'ensemble de données et peut le faire sans affecter négativement d'autres grilles / pages, modifiez la requête afin qu'elle sélectionne uniquement les colonnes que vous utilisez. Vous pouvez toujours utiliser des colonnes non sélectionnées dans la jointure et où, et vous obtenez le bonus supplémentaire de ne pas avoir à ajouter toutes les colonnes à l'ordre.

2) Si vous n'avez que le contrôle de la grille et le codeBeHind qui l'utilise pour la générer, vous pouvez définir comme paramètre de datagrid, les autogéneratécolumns = Faux, puis nichez dans votre DataGrid, les champs limites dont vous avez besoin pour montrer. Cela vous permet également de formater le pouvoir de formater, de créer des noms de colonnes, etc.

Si vous pouvez faire ces deux éléments, votre grille devrait également charger plus rapidement.


0 commentaires

0
votes
SqlCommand comm = new SqlCommand("Select required fields from YourTable, conn);

conn.Open();
SqlDataReader rdr = comm.ExecuteReader();

GridView1.DataSource = rdr;
GridView1.DataBind();

rdr.Close();
This will print only required fields.    

0 commentaires