2014-01-17 6 views
0

Моя база данных выглядит следующим образом:SqlDataSource строки в колонках

_______________ 
column1|column2| 
name1 | 5 | 
name1 | 3 | 
name1 | 1 | 
name2 | 2 | 
name2 | 4 | 
```````````````` 

Im помощью VS 2012 и жерех: DataList, и я пытаюсь показать данные таким образом:

_________________ 
name1 | 5 | 3 | 1| 
name2 | 2 | 4 | | 
````````````````` 

Я попытался это много способов сделать это:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:finchsize_polibudaConnectionString %>" 
SelectCommand="SELECT a1.[przedmiot], a1.[ocena], a2.[ocena] from [oceny] as a1, [oceny] as a2 where a1.[ocena] != a2.[ocena] and a1.przedmiot = a2.przedmiot;"> 
</asp:SqlDataSource> 
    <table> 
     <td> 
      <asp:DataList ID="DataListOcenyDzieciak" runat="server" 
     DataSourceID="SqlDataSource1" RepeatColumns="1" 
     > 
     <ItemTemplate> 
      <asp:Label ID="przedmiotLabel" runat="server" Text='<%# Eval("przedmiot") %>' /> 
      <asp:Label ID="Label1" runat="server" Text='<%# Eval("ocena") %>' /> 
      <br /> 
     </ItemTemplate> 

    </asp:DataList> 

     </td> 

Но это не сработало. Вы знаете, как я должен это делать?

+1

Что не получилось? Вы получили сообщение об ошибке или просто указали неправильные значения? –

ответ

0

Это смешно, что вы ожидаете, чтобы сделать больше, чем 2 колонки после того, как:

<ItemTemplate> 
     <asp:Label ID="przedmiotLabel" runat="server" Text='<%# Eval("przedmiot") %>' /> 
     <asp:Label ID="Label1" runat="server" Text='<%# Eval("ocena") %>' /> 
     <br /> 
</ItemTemplate> 

Во-первых, данные, которые вы дали не последовательны, то есть. вы не можете надежно повторить его в dataview. Например, знаете ли вы, сколько столбцов данных у вас будет при макс. Если вы это сделаете, я бы написал цикл for и заполнил dataTable данными в требуемом формате и привязал их к datalist.

Смежные вопросы