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.
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
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
- Public Class ConvertItemToIndex
- Implements IValueConverter
- 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
- Try
- 'Get the CollectionView from the DataGrid that is using the converter
- Dim dg As DataGrid = DirectCast(Application.Current.MainWindow.FindName("Tab01_Datagrid"), DataGrid)
- Dim cv As CollectionView = DirectCast(dg.Items, CollectionView)
- 'Get the index of the item from the CollectionView
- Dim rowindex As Integer = cv.IndexOf(value) + 1
- Return rowindex.ToString()
- Catch e As Exception
- Throw New NotImplementedException(e.Message)
- End Try
- End Function
- 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
- Throw New NotImplementedException()
- End Function
- 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“ ()