Не существует встроенного метода, но эта версия работает при большем количестве обстоятельств:
with cte (num, dollar) as (
select 1, cast(1.45 as decimal(12,2))
union all
select num + 1, cast(dollar + 1.00 as decimal(12,2))
from cte
where num < 20
)
select cte.num, cte.dollar,
(case when count(*) over (order by cte.num ROWS 3 PRECEDING) = 3
then avg(cte.dollar) over (order by cte.num ROWS 3 PRECEDING)
end) as ThreeMonthAvg,
(case when count(*) over (order by cte.num ROWS 6 PRECEDING) = 6
then avg(cte.dollar) over (order by cte.num ROWS 6 PRECEDING)
end) as SixMonthAvg
from cte;
Это фактически подсчитывает строки, входящие в среднее значение, а не в зависимости от конкретных числовых значений.
Здесь довольно простое объяснение одного из способов сделать это .
Найдите и удалите свой столбец:
var temp = myGridView.Columns[0];
myGridView.Columns.RemoveAt(0);
Вставьте столбец обратно в представление:
myGridView.Columns.Add(temp );
temp.Width = 0;
temp.Width = Double.NaN;
Удалите его из коллекции столбцов, если вы хотите скрыть его, и заново вставьте столбец, когда хотите снова отобразить его.
Чтобы скрыть заголовок ListView, вы можете измените свойство Visibility для ColumnHeaderContainer, переопределив стиль локально.
<ListView>
<ListView.View>
<GridView>
<GridView.ColumnHeaderContainerStyle>
<Style>
<Setter Property="FrameworkElement.Visibility" Value="Collapsed"/>
</Style>
</GridView.ColumnHeaderContainerStyle>
<GridView.Columns>
...
</GridView.Columns>
</GridView>
</ListView.View>