Comment faire pour remplir asp:GridView à partir du code?
J'ai un List<string[]> items
liste remplis avec des tableaux de chaînes de caractères dans mon code. Sur la page ASPX, j'ai ajouté un nouveau contrôle de l'affichage grille:
<asp:GridView ID="ProductList" runat="server" AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="ProductID" EnableViewState="False">
<Columns>
<asp:BoundField DataField="ProductName" HeaderText="Product" SortExpression="ProductName" />
<asp:BoundField DataField="CategoryName" HeaderText="Category" ReadOnly="True" SortExpression="CategoryName" />
<asp:BoundField DataField="SupplierName" HeaderText="Supplier" ReadOnly="True" SortExpression="SupplierName" />
<asp:BoundField DataField="UnitPrice" DataFormatString="{0:C}" HeaderText="Price" HtmlEncode="False" SortExpression="UnitPrice" />
<asp:CheckBoxField DataField="Discontinued" HeaderText="Discontinued" SortExpression="Discontinued" />
</Columns>
</asp:GridView>
Je sais que je dois spécifier le DataSourceID de l'attribut de l'affichage de la grille dans un mode similaire à ceci:
<asp:GridView ... `DataSourceID="ObjectDataSource1" ... >
</asp:GridView>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetProducts" TypeName="ProductsBLL">
</asp:ObjectDataSource>
Mais, je ne sais pas quoi faire OldValuesParameterFormatString
, SelectMethod
et TypeName
les attributs représentent. Aussi, je n'ai pas la base de données à lier, je viens d'avoir la liste des tableaux de chaîne nommée items
. Pouvez-vous m'aider à remplir la grille de point de vue? Il n'est pas nécessaire de le faire par le biais de la liaison. Merci!
OriginalL'auteur Boris | 2012-10-18
Vous devez vous connecter pour publier un commentaire.
Vous n'avez même pas besoin d'un ObjectDataSource. Au Page_Load dans le code-behind, vous pouvez analyser le tableau de chaîne de liste, et de créer une Table de données à la volée.
Assurez-vous d'envelopper autour d'une
Not Page.IsPostback
, afin de ne pas relier à la publication.OriginalL'auteur danyim
Edit: Vous aurez à changer une partie de ce code pour l'adapter à vos besoins. Je suis en train de faire des hypothèses sur les types de données stockées dans votre
string[]
basé sur laGridView
code que vous avez fournis.Vous aurez envie de regarder dans la création d'un
class
à utiliser pour vos articles, au lieu d'unstring[]
. Peut-être quelque chose comme:Vous auriez alors besoin de quelque chose pour traduire le
string[]
enMyObject
:Alors vous pouvez utiliser cette méthode dans votre code, puis lier:
Comme je l'ai dit dans le commentaire, assurez-vous que vous avez accès à
items
dans lePage_Load
gestionnaire d'événement. Aussi, j'ai tapé ce à partir de la mémoire, j'ai oublié les paramètres dansPage_Load
. Vous avez probablement déjà unPage_Load
gestionnaire dans votre code derrière.OriginalL'auteur Gromer
Vous pouvez essayer ce
Votre GridView
OriginalL'auteur codingbiz