Lier un arraylist à un datagrid

Soyez le premier à donner votre avis sur cette source.

Vue 18 118 fois - Téléchargée 684 fois

Description

Liaison d'un ArrayList à un DataGrid.
N'ayant pas trouvé comment faire sur le net je me suis creusé les méninges et j'ai trouvé cette solution.
Elle ne me parait pas très simple alors si quelqu'un en connaît une plus optimisé merci de me signaler.

Source / Exemple :


<%@ Page language="c#" Codebehind="MaPage.aspx.cs" AutoEventWireup="false" Inherits="LierArrayListDataGrid.WebForm1" %>
<!-- Obligatoire même si il y a un using MonNamesapce dans MaPage.aspx.cs -->
<%@ import Namespace="MonNamesapce" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
	<HEAD>
		<title>WebForm1</title>
		<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
		<meta name="CODE_LANGUAGE" Content="C#">
		<meta name="vs_defaultClientScript" content="JavaScript">
		<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
	</HEAD>
	<body MS_POSITIONING="GridLayout">
		<form id="Form1" method="post" runat="server">
			<asp:DataGrid id="MonDataGrid" style="Z-INDEX: 101; LEFT: 8px; POSITION: absolute; TOP: 8px" runat="server"
				AutoGenerateColumns="False">
				<Columns>
					<asp:TemplateColumn HeaderText="Colonne1">
						<ItemTemplate>
							<asp:Label id=Label1 runat="server" Text='<%# ((MaClasse)MonArrayList[Convert.ToInt32(DataBinder.Eval(Container,"ItemIndex"))]).Propriete1 %>'>
							</asp:Label>
						</ItemTemplate>
					</asp:TemplateColumn>
					<asp:TemplateColumn HeaderText="Colonne2">
						<ItemTemplate>
							<asp:Label id=Label2 runat="server" Text='<%# ((MaClasse)MonArrayList[Convert.ToInt32(DataBinder.Eval(Container,"ItemIndex"))]).Propriete2 %>'>
							</asp:Label>
						</ItemTemplate>
					</asp:TemplateColumn>
					<asp:TemplateColumn HeaderText="Colonne3">
						<ItemTemplate>
							<asp:Label id=Label3 runat="server" Text='<%# ((MaClasse)MonArrayList[Convert.ToInt32(DataBinder.Eval(Container,"ItemIndex"))]).Propriete3 %>'>
							</asp:Label>
						</ItemTemplate>
					</asp:TemplateColumn>
				</Columns>
			</asp:DataGrid>
		</form>
	</body>
</HTML>

Conclusion :


Espérant vous avoir aidé.
A+

Codes Sources

A voir également

Ajouter un commentaire

Commentaire

jesusonline
Messages postés
6827
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
16 -
datagrid1.datasource = monArrayList
datagrid1.databind()

ensuite dans l'aspx

<%#Container.DataItem("prop1")%>

Si ca fonctionne pas, il faut donc avoir une arraylit typé, donc dériver une lasse de CollectionBase etc... ou alors en .net2 déclarer l'objet en List<TonObject> ou List(of TonObject) (C# et VB utilisation des generics) ensuite ca fonctionne ...

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.