Я думаю, что в вашем вопросе есть большой пробел, не определена ни одна цель, или сколько «фруктов» будет в контейнере и т.д.
Как я понял из вашего вопроса, вы хотите полностью заполнить массив 2-го измерения цели. Поэтому я набросал какой-то кусок кода:
var appleTarget = 5;
var mangoTarget = 7;
var strawberryTarget = 12;
var kindOfFruit = ["apple", "mango", "strawberry"];
function fruitCount(subFruitContainer, fruit)
{
return subFruitContainer.filter(el => el === fruit).length;
}
function insertFruit(dimension , fruit)
{
dimension.push(fruit);
}
function stableContainer(fruitContainer)
{
var selectedTarget;
kindOfFruit.forEach(function(fruitKind) {
fruitContainer.forEach(function(dimension){
if(fruitKind == "apple") selectedTarget = appleTarget;
else if(fruitKind == "mango") selectedTarget = mangoTarget;
else if(fruitKind == "strawberry") selectedTarget = strawberryTarget;
else selectedTarget = 0;
var fruitKindCount = fruitCount(dimension, fruitKind);
if(fruitKindCount < selectedTarget)
{
for(var i = selectedTarget-fruitKindCount; i > 0; i--)
{
insertFruit(dimension, fruitKind);
}
}
});
});
console.log("stabled container");
console.log(fruitContainer);
}
var container = [
["apple", "apple", "banana", "mango", "stawberry", "banana", "banana"],
["banana", "mango", "stawberry", "stawberry"],
["apple", "mango", "mango"]
];
stableContainer(container);
Определите Стиль как так
<Window.Resources>
....
<Style x:Key="myHeaderStyle" TargetType="{x:Type GridViewColumnHeader}">
<Setter Property="Visibility" Value="Collapsed" />
</Style>
</Window.Resources>
, Применяют его как так
<GridView ColumnHeaderContainerStyle="{StaticResource myHeaderStyle}">
....
</GridView>