У меня есть таблица данных со многими столбцами, например, так:
Name | Age | Foo | Bar | Etc..
Joe | 30 | foo | bar | Etc..
Теперь мне нужно получить эту таблицу данных всего в два столбца, состоящих только иззаголовки, за которыми следуют их значения, например:
Header | Value
Name | Joe
Age | 30
Foo | foo
Etc... | etc..
Этотак что DataBinder может легко получить к нему доступ, когда данные связаны.
Как это можно сделать, и нужно ли мне вообще это делать?
РЕДАКТИРОВАТЬ: Включая пример кода
asp.net
<div class="itemDetail col-s">
<div class="itemDetailLabel">
<%# DataBinder.Eval(Container.DataItem, "Caption")%>
</div>
<div class="itemDetailValue">
<%# If(DataBinder.Eval(Container.DataItem, "UIValue") Is Nothing OrElse String.IsNullOrEmpty(DataBinder.Eval(Container.DataItem, "UIValue").ToString()), " ", DataBinder.Eval(Container.DataItem, "UIValue")) %>
</div>
</div>
vb.net
Dim oldDataTable As DataTable = DataSource ''Which is a datatable of a single row
Dim newDataTable As New DataTable
newDataTable.Columns.Add("Caption")
newDataTable.Columns.Add("UIValue")
''Change the single row into multiple rows
fooControl.DataSource = newDataTable
fooControl.DataBind()
EDIT2: Так что для тех, кто все еще учится, как яэто называется транспонированием.Спасибо за @ gofal3 за указание на это