Hallo liebe Leute,
ich habe eine WPF-Anwendung, in der eine Textbox vorhanden ist (In diese wird eine Materialnummer eingebgen.)
In der Klasse Materialnummern sollen die Werte gespeichert werden.
Also nur zwei Propertys.
In der Klasse DATA werden die Daten geladen und eine ObservableCollection der Materialnummern zurück gegeben.
Diese Daten werden mithilfe eines Typisierten DataSets geladen und die Klasse gefüllt (Funktioniert soweit auch.)
Nun wollte ich eine Klasse (z.B. MaterialnummernViewModel) erstellen, in der diese Daten geladen (Aufgerufen) werden, und an eine Property namens MaterialnummernListeView gebunden werden. Diese Liste soll eine ICollectionView sein, die ich später an
die WPF anbinden möchte.
Ob das Sinnig ist, nun das Frage ich euch.
Wenn ich eine Referenznummer eingebe, dauert es recht lange und ich bekomme eine sehr lange Liste mit Referenznummern.
Nun meine Frage:
Wie binde ich das ganze Nett an WPF? (Vielleicht Popup unter der Textbox?) und wie würde ich es besser machen bzw wie erstelle ich das ViewModel korrekt?
Wie filtere ich diese Liste sobald meine Eingabelänge >=4 ist ( Dann erst gefiltert anzeigen)
Zweispaltig (Links Referenznummer und rechts die Materialbezeichnung) ListView anstatt PopUp o.ä.?
Vielen Dank
ich habe eine WPF-Anwendung, in der eine Textbox vorhanden ist (In diese wird eine Materialnummer eingebgen.)
In der Klasse Materialnummern sollen die Werte gespeichert werden.
VB.NET-Quellcode
- Public Class Materialnummern
- Private _Materialnummer As String
- Public Property Materialnummer As String
- Get
- Return _Materialnummer
- End Get
- Set(ByVal value As String)
- _Materialnummer = value
- End Set
- End Property
- Private _Materialbezeichnung As String
- Public Property Materialbezeichnung As String
- Get
- Return _Materialbezeichnung
- End Get
- Set(ByVal value As String)
- _Materialbezeichnung = value
- End Set
- End Property
- End Class
Also nur zwei Propertys.
In der Klasse DATA werden die Daten geladen und eine ObservableCollection der Materialnummern zurück gegeben.
Diese Daten werden mithilfe eines Typisierten DataSets geladen und die Klasse gefüllt (Funktioniert soweit auch.)
VB.NET-Quellcode
- Imports System.Collections.Generic
- Imports System.Collections.ObjectModel
- Imports System.Data
- Public Class Data
- Private Nummern As New ObservableCollection(Of Materialnummern)
- Private Sub LadeDatenAusDatenbank()
- Dim adapter As New stammDataSetTableAdapters.MaterialstammTableAdapter()
- Dim ds As New stammDataSet.MaterialstammDataTable
- adapter.Fill(ds)
- For Each x As DataRow In ds.Rows
- Nummern.Add(New Materialnummern With {
- .Materialbezeichnung = x("Materialkurztext").ToString(),
- .Materialnummer = x("Material").ToString()})
- Next
- End Sub
Nun wollte ich eine Klasse (z.B. MaterialnummernViewModel) erstellen, in der diese Daten geladen (Aufgerufen) werden, und an eine Property namens MaterialnummernListeView gebunden werden. Diese Liste soll eine ICollectionView sein, die ich später an
die WPF anbinden möchte.
Ob das Sinnig ist, nun das Frage ich euch.
Wenn ich eine Referenznummer eingebe, dauert es recht lange und ich bekomme eine sehr lange Liste mit Referenznummern.
VB.NET-Quellcode
- Imports System.Collections.ObjectModel
- Imports System.ComponentModel
- Public Class MaterialnummernViewModel
- Dim laden As New Data()
- Private _MaterialnummernListe As New ObservableCollection(Of Materialnummern)
- Public Property MaterialnummernListe As ObservableCollection(Of Materialnummern)
- Get
- Return _MaterialnummernListe
- End Get
- Set(ByVal value As ObservableCollection(Of Materialnummern))
- _MaterialnummernListe = value
- End Set
- End Property
- Private _MaterialnummernListeView As ICollectionView
- Public Property MaterialnummernListeView As ICollectionView
- Get
- Return _MaterialnummernListeView
- End Get
- Set(ByVal value As ICollectionView)
- _MaterialnummernListeView = value
- End Set
- End Property
- Public Sub New()
- _MaterialnummernListe = laden.LadeDaten()
- Me._MaterialnummernListeView = CollectionViewSource.GetDefaultView(_MaterialnummernListe)
- End Sub
- End Class
Nun meine Frage:
Wie binde ich das ganze Nett an WPF? (Vielleicht Popup unter der Textbox?) und wie würde ich es besser machen bzw wie erstelle ich das ViewModel korrekt?
Wie filtere ich diese Liste sobald meine Eingabelänge >=4 ist ( Dann erst gefiltert anzeigen)
Zweispaltig (Links Referenznummer und rechts die Materialbezeichnung) ListView anstatt PopUp o.ä.?
Vielen Dank