Bonjour à tous !

J'aimerais utiliser un DataSet (ayant plusieurs tables) comme DataSource d'un repeater. Je simplifie, a vrai dire j'utilise un ObjectDataSource qui retourne un DataSet.
J'arrive très bien à accéder à mes données contenues dans la première table, mais comment faire pour changer de table courante ?

Mon code ASPX :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
        <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="Select" TypeName="DataBinding"></asp:ObjectDataSource>    
        &nbsp;&nbsp;
        <asp:Repeater ID="Repeater1" runat="server" DataSourceID="ObjectDataSource1">
            <HeaderTemplate>
                <table border="1">
                    <tr>
                        <td>ids</td>
                        <td>Campagne</td>
                        <td>Culture</td>
                        <td>Variété</td>
                        <td>Code</td>
                        <td>Nom</td>
                        <td>Surface</td>
                        <td>Précédent</td>
                    </tr>
            </HeaderTemplate>
            <ItemTemplate>
                <tr>
                    <td><%# DataBinder.Eval(Container.DataItem, "ids") %></td>
                    <td><%# DataBinder.Eval(Container.DataItem, "Campagne") %></td>
                    <td><%# DataBinder.Eval(Container.DataItem, "Culture") %></td>
                    <td><%# DataBinder.Eval(Container.DataItem, "Variété") %></td>
                    <td><%# DataBinder.Eval(Container.DataItem, "Code")%></td>
                    <td><%# DataBinder.Eval(Container.DataItem, "Nom")%></td>
                    <td><%# DataBinder.Eval(Container.DataItem, "Surface")%></td>
                    <td><%# DataBinder.Eval(Container.DataItem, "Précédent")%></td>
                </tr>
            </ItemTemplate>
            <FooterTemplate></table></FooterTemplate>
        </asp:Repeater>
Mon code C# :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
public class DataBinding
{
    private DataSet _ds = null;
    public DataSet DS
    {
        get
        {
            try
            {
                if (_ds == null)
                {
                    SqlCommand command = new SqlCommand("ProcedureName", new SqlConnection("ConnectionString"));
                    command.CommandType = CommandType.StoredProcedure;
                    SqlDataAdapter adapter = new SqlDataAdapter(command);
                    _ds = new DataSet();
                    command.Connection.Open();
                    adapter.Fill(_ds);
                    command.Connection.Close();
                }
            }
            catch (Exception e)
            {
                _ds = null;
            }
            return _ds;
        }
    }
 
    public DataSet Select()
    {
        return DS;
    }
}
PS: ceci est un code test... Je sais que c'est un strange d'avoir fait le chargement des données lors du premier l'appel de la propriété...

Edit:
Ce que j'aimerais avoir c'est quelque chose du genre :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
 
        <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" SelectMethod="Select" TypeName="DataBinding"></asp:ObjectDataSource>    
        &nbsp;&nbsp;
        <asp:Repeater ID="Repeater1" runat="server" DataSourceID="ObjectDataSource1">
            <HeaderTemplate>
                <table border="1">
                    <tr>
                        <td>ids</td>
                        <td>Campagne</td>
                        <td>Culture</td>
                        <td>Variété</td>
                        <td>Code</td>
                        <td>Nom</td>
                        <td>Surface</td>
                        <td>Précédent</td>
                    </tr>
            </HeaderTemplate>
            <ItemTemplate>
                <tr>
                    <td><%# DataBinder.Eval(Container.DataItem, "ids") %></td>
                    <td><%# DataBinder.Eval(Container.DataItem, "Campagne") %></td>
                    <td><%# DataBinder.Eval(Container.DataItem, "Culture") %></td>
                    <td><%# DataBinder.Eval(Container.DataItem, "Variété") %></td>
                    <td><%# DataBinder.Eval(Container.DataItem, "Code")%></td>
                    <td><%# DataBinder.Eval(Container.DataItem, "Nom")%></td>
                    <td><%# DataBinder.Eval(Container.DataItem, "Surface")%></td>
                    <td><%# DataBinder.Eval(Container.DataItem, "Précédent")%></td>
                </tr>
            </ItemTemplate>
            <FooterTemplate></table></FooterTemplate>
        </asp:Repeater>    
 
        <asp:Repeater ID="Repeater2" runat="server" DataSourceID="ObjectDataSource1">
            <HeaderTemplate>
                <table border="1">
                    <tr>
                        <td>Date</td>
                        <td>Surface</td>
                        <td>Opération</td>
                        <td>Commentaire</td>
                    </tr>
            </HeaderTemplate>
            <ItemTemplate>
                <tr>
                    <td><%# DataBinder.Eval(Container.DataItem, "Date")%></td>
                    <td><%# DataBinder.Eval(Container.DataItem, "Surface")%></td>
                    <td><%# DataBinder.Eval(Container.DataItem, "Opération")%></td>
                    <td><%# DataBinder.Eval(Container.DataItem, "Commentaire")%></td>
                </tr>
            </ItemTemplate>
            <FooterTemplate></table></FooterTemplate>
        </asp:Repeater>
Que le Repeater2 puisse être associé à la deuxième table.

@++

NeoMan