Datagrid mit Index im RowHeader erstellen

  • WPF

    Datagrid mit Index im RowHeader erstellen

    Hallo zusammen!

    Wie im Titel erwähnt soll ein DataGrid im RowHeader die aktuelle Zeilennummer erhalten. Dabei soll diese natürlich auch beim Sortieren weiter bei 1 beginnen und durchgehend fortlaufen. (wie in Excel halt) Dazu hab ich ein Beispiel bei Microsoft gefunden, dass bei mit leider nicht funktioniert.

    VB.NET-Quellcode

    1. Public Class ConvertItemToIndex
    2. Implements IValueConverter
    3. Public Function Convert(value As Object, targetType As System.Type, parameter As Object, culture As System.Globalization.CultureInfo) As Object Implements System.Windows.Data.IValueConverter.Convert
    4. Try
    5. 'Get the CollectionView from the DataGrid that is using the converter
    6. Dim dg As DataGrid = DirectCast(Application.Current.MainWindow.FindName("Tab01_Datagrid"), DataGrid)
    7. Dim cv As CollectionView = DirectCast(dg.Items, CollectionView)
    8. 'Get the index of the item from the CollectionView
    9. Dim rowindex As Integer = cv.IndexOf(value) + 1
    10. Return rowindex.ToString()
    11. Catch e As Exception
    12. Throw New NotImplementedException(e.Message)
    13. End Try
    14. End Function
    15. Public Function ConvertBack(value As Object, targetType As System.Type, parameter As Object, culture As System.Globalization.CultureInfo) As Object Implements System.Windows.Data.IValueConverter.ConvertBack
    16. Throw New NotImplementedException()
    17. End Function
    18. End Class


    Einzige Anpassung meinerseits ist der zu suchende Name.
    Mein Projekt:
    Das MainWindow enthält ein TabControl, dessen Tabs je ein UserControl enthalten. Dieses enthält dann das jeweilige Datagrid. Daran ist der Converter gebunden. Leider wird das Datagrid bei mir nicht gefunden, was dann in der foolgenden Zeile bei der Zuweisung der CollectionView zu einem Fehler führt. Leider habe ich keine Ahnung, wie man das korrekt umstellen kann.
    Kann mit da bitte einer helfen, oder gern auch eine Alternative Methode vorschlagen?

    Gruß
    eddi

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „eichseinet“ ()