Простой способ отображения номеров строк в WPF DataGrid

Убежавший от необработанных указателей функции C++ и использования std::function вместо этого.

можно использовать boost::function при использовании старого компилятора, такого как Visual Studio 2008, который не имеет никакой поддержки C++ 11.
boost:function и std::function то же самое - они вытянули довольно мало материала повышения в библиотеку станд. для C++ 11.

Примечание: можно хотеть прочитать документацию функции повышения вместо Microsoft один, поскольку легче понять

25
задан JohnB 11 January 2011 в 20:00
поделиться

3 ответа

Добавление краткой информации об ответе Фредрика Хедблада.

<DataGrid Name="DataGrid" LoadingRow="DataGrid_LoadingRow" ...

void DataGrid_LoadingRow(object sender, DataGridRowEventArgs e)
{
    e.Row.Header = (e.Row.GetIndex()+1).ToString(); 
}

... Если вы хотите начать нумерацию с 1

9
ответ дан 28 November 2019 в 18:23
поделиться

И просто добавить к обсуждению этого ... (Я потратил слишком много времени, чтобы выяснить это!).

Вам необходимо установить для параметра EnableRowVirtualization значение False на сетке данных, чтобы предотвратить ошибки в последовательности строк:

EnableRowVirtualization="False"

Свойство EnableRowVirtualization по умолчанию установлено в true. Если для свойства EnableRowVirtualization установлено значение true, DataGrid не создает экземпляр объекта DataGridRow для каждого элемента данных в связанном источнике данных. Вместо этого DataGrid создает объекты DataGridRow только тогда, когда они необходимы, и использует их столько, сколько может. MSDN Ссылка здесь

4
ответ дан 28 November 2019 в 18:23
поделиться

После некоторых испытаний с RowHeaderStyle отремонтированная и расширенная выборка из NGI:

        <DataGrid EnableRowVirtualization="false" ItemsSource="{Binding ResultView}" AlternationCount="{Binding ResultView.Count}" RowHeaderWidth="10">
            <DataGrid.RowHeaderStyle>
                <Style TargetType="{x:Type DataGridRowHeader}">
                    <Setter Property="Content" Value="{Binding Path=AlternationIndex, RelativeSource={RelativeSource AncestorType=DataGridRow}}" />
                </Style>
            </DataGrid.RowHeaderStyle>
        </DataGrid>
0
ответ дан 28 November 2019 в 18:23
поделиться
Другие вопросы по тегам:

Похожие вопросы: