Да, и большинство серверов приложений соберет элементы соответствия и свяжет их с запятыми, такими что форма как это:
... решил бы к URL (в ПОЛУЧИТЬ случае - POST будет работать тот же путь, хотя) как это:
http://myhost.com/myscript.asp?myHidden=1&myHidden=2&myHidden=3
... и был бы представлен Вам в коде как это: (например, после чего-то как Ответ. Запишите (Запрос. QueryString ("myHidden")):
1, 2, 3
Так для захвата значений Вы только что разделили строку и получаете доступ к ним как к массиву (или независимо от того, что сопоставимо на Вашем предпочтительном языке).
(Должен быть разъяснен: В PHP это немного отличается (как Johnathan указывает, нотация скобки представляет объекты как массив к Вашему коду PHP), но ASP, ASP.NET и CF все представляют значения как разделенный запятыми список. Таким образом да, дублирующееся именование абсолютно допустимо.)
You can use RowHeaderTemplate
like this:
<toolkit:DataGrid>
<toolkit:DataGrid.RowHeaderTemplate>
<DataTemplate>
<TextBlock Text="{Binding Item.Titel, RelativeSource={RelativeSource Mode=FindAncestor, AncestorType={x:Type toolkit:DataGridRow}}}"/>
</DataTemplate>
</toolkit:DataGrid.RowHeaderTemplate>
</toolkit:DataGrid>
You will also have to set AutoGenerateColumns
to false
and create your own columns to avoid the Titel
property also being displayed as a column.
Edit
I now understand that you want to transpose the DataGrid
. I think the easy but somewhat "hacky" solution is to create a list of "transposed" objects. To do this you would have to know in advance how many objects there are in the original list and then create a new class with as many properties as there are objects.
class TransposedDetailObject {
public String Column1 { get; set; }
public String Column2 { get; set; }
public String Column3 { get; set; }
}
var transposedList new List<TransposedDetailObject> {
new TransposedDetailObject {
Column1 = someList[0].Titel,
Column2 = someList[2].Titel,
Column3 = someList[3].Titel
},
new TransposedDetailObject {
Column1 = someList[0].Value1,
Column2 = someList[2].Value1,
Column3 = someList[3].Value1
},
...
};
A less "hacky" solution is to modify the control template of the DataGrid
to swap rows and columns. However, DataGrid
is a complex control and it can be a bit overwhelming to modify the control template.
Преобразуйте список бизнес-объектов в таблицу данных, в которой вы создали столбцы из свойств вашего объекта, и установите их в качестве источника элементов таблицы данных. Если вы хотите включить редактирование, вам придется перебирать данные и вручную применять значения обратно к своим бизнес-объектам. отражение может помочь сделать сетку универсальной. просто некоторые мысли.