Bonjour j'ai un problème lié au DataRowView. J'ai récupéré de l'aide MSDN un bout de code pour binder un Datalist.
(Je précise que ce datalist se trouve dans l'ItemTemplate d'un repeater).
Voila mon code :
public void LoadRepeater(int idDemr, ArrayList loge)
{
dtlBdvi.DataSource = CreateDataSource(idDemr, loge);
dtlBdvi.DataBind();
}
ICollection CreateDataSource(int dmr, ArrayList loge)
{
DataTable dt = new DataTable();
DataRow dr = dt.NewRow();
int i = 0 ;
string sql = "SELECT T_BON_DE_VISITE.ID_BDVI, T_BON_DE_VISITE.RANG_BDVI";
sql+= " FROM T_BON_DE_VISITE INNER JOIN T_DEMANDE ON T_BON_DE_VISITE.ID_DEMA = T_DEMANDE.ID_DEMA WHERE";
sql += " T_DEMANDE.ID_DEMR = "+dmr+" AND T_DEMANDE.ID_LOGE = ";
// On créé autant de colonne qu'il y a de logement passé en paramètre
foreach(string idLoge in loge)
{
dt.Columns.Add(idLoge);
dr[i] = RequeteSQL(sql+idLoge);
i++;
}
dt.Rows.Add(dr);
// Return a DataView to the DataTable.
DataView dv = new DataView(dt);
return dv;
}
Et voici mon ASPX (je pense que celà doit venir de lui, mais je ne connais pas bien l'asp.net donc je ne suis pas sur...)
<asp:DataList ID="dtlBdvi" GridLines="Horizontal" runat="server" RepeatLayout="Table" RepeatDirection="Horizontal" >
<ItemTemplate>
<%# Container.DataItem %>
</ItemTemplate>
</asp:DataList>
Merci d'avance