Announcement

Collapse
No announcement yet.

Datensatz suchen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Datensatz suchen

    Hallo,

    ich habe in Visual Studio ein Formular erstellt und mehrere Textboxen mit den Feldern meines DataSets verbunden. Nun möchte ich Datensätze suchen, indem ich einen Wert in mein Suchfeld (TbxSuchen) eingebe und dann auf den Button "Suchen" klicke. Die Werte des richtigen Datensatzes sollen dann in den Textfeldern angezeigt werden.
    Bei dem Wert, den ich eingeben möchte, handelt es sich jedoch nicht um den Primärschlüssel aus der Datenquelle. Der Wert soll in einer anderen Spalte (SachNr) gesucht werden.

    Kann mir jemand sagen, wie ich mein Problem lösen kann?

    Gruß, Stefan


    Code:
    ___________________________________

    ' --- Dataset erzeugen
    _ds = New DataSet()
    _____

    ' --- Felder mit Daten verbinden
    TbxSid.DataBindings.Add("Text", _dt, "ID")
    TbxSysId.DataBindings.Add("Text", _dt, "SysId")
    TbxSachNr.DataBindings.Add("Text", _dt, "SachNr")
    TbxBezeichnung.DataBindings.Add("Text", _dt, "Bezeichnung")

    '--- Den für die Felder zuständigen CurrencyManager abrufen
    cm = DirectCast(TbxID.DataBindings("Text").BindingManag erBase, CurrencyManager)
    cm = DirectCast(TbxSysId.DataBindings("Text").BindingMa nagerBase, CurrencyManager)
    cm = DirectCast(TbxSachNr.DataBindings("Text").BindingM anagerBase, CurrencyManager)
    cm = DirectCast(TbxBezeichnung.DataBindings("Text").Bin dingManagerBase, CurrencyManager)
    ___________________

    Private Sub BtnSuchen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSuchen.Click
    Dim intPos As Integer
    intPos = ...Find(TbxSuchen.Text) ?????
    CurrencyManager.Position = intPos
    End Sub

  • #2
    Hallo,

    um welche Version des .NET Frameworks handelt es sich? Im Fall von .NET 2.0 ist die BindingSource-Komponente die "richtige" Stelle, indem die Eigenschaft Filter genutzt wird. Dort kann nach beliebigen Spalten gesucht werden, wobei über LIKE sogar eine Joker-Suche unterstützt wird:

    Code:
    dataTable1BindingSource.Filter = String.Format("{0} LIKE '{1}%'", _ 
                      dataSet1.DataTable1.wertColumn.ColumnName, textBoxFilter.Text)
    Im Fall von .NET 1.x leistet die RowFilter-Eigenschaft der DataView-Instanz (DefaultView-Eigenschaft der Table-Instanz) das Gleiche.

    Comment


    • #3
      Super, die Suche funktioniert jetzt! Danke für die Hilfe

      Gruß, Stefan

      Comment

      Working...
      X