vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

ADO.NET / Datenbanken
Ergebnis der Bindingsource Select-Abfrage von einem Column in ein Array casten? 
Autor: jasmina
Datum: 30.07.10 15:22

Hallo,

ich benutze eine DataTable (DT_Lay), die ich mit Daten befülle.
Im 1. Column steht eine laufende Objektnummer.
Im Column("NodeKey") steht ein String, der eine Zuordnung zu anderen Objekten bildet.
Es kann mehrere Rows mit dem gleichen NodeKey geben.

In einer Funktion (Funktionsrückgabe: Integer())
suche ich jetzt über eine Bindingsource mit Select nach dem "NodeKey".
Funktioniert auch hervorragend.
Die Werte der laufenden ObjektNummer (1. Column ("LFDObjNr") stelle ich in das IntegerArray mittel einer Schleife.
Hierbei gibt es zwar kein Problem, es funtioniert.

Aber ich möchte es eleganter und schneller lösen.
D.h. kann ich direkt ein Integer Array mit den Werten aus dem Column(1) oder Column("LfdNr") befüllen ohne duch einen Schleife laufen zu müssen?

(den FETT geschrieben Text möchte ich durch ein direktes Integer Array ersetzt haben!)
Wie kann ich das bewerkstelligen?


Public Function Zuordnung_Treeview_IndexLayoutfelder(ByVal TreeKey As String) _
  As integer()
  dim iArr() as integer, i as integer
  Dim bs As BindingSource                                'Erzeugen eines 
  ' Bindingsource-Objekt (bs) 
  bs = New BindingSource(DT_Lay, Nothing)                'mit der DataTable ( 
  ' DT_Lay) verbunden
  bs.Filter = ("NodeKey = '" & TreeKey & "'")            'Im BindingSourc kann 
  ' man nun filtern 
  bs.Sort = "LFDObjNr ASC"                               'die gewünschte 
  ' Sortierung eingeben
  Dim Anz As Integer = bs.Count                           'Anzahl der 
  ' gefundenen Rows
 
   For i = 0 To bs.Count - 1
       Dim st As String = CType(bs.Item(i), DataRowView).Row.Item( _
         "LFDObjNr").ToString
       ReDim Preserve iArr(i)
       iArr(i) = CInt(st)
   Next   
   return iArr
end sub
'-----------------------------------------------------------------------------------------------
'Erstellen und Befüllen des DataTables

Public Sub LayDataSet_erstellen()
DT_Lay = DS_Lay.Tables.Add("Lay")
With DT_Lay
  .Columns.Add("LFDObjNr", GetType(Integer))     'Laufende Objektnummer 
  .Columns.Add("ObjVor", GetType(Boolean))
  .Columns.Add("ObjKey", GetType(String))        'ObjektKey - zum Erkennen des 
  ' Objektes 
  .Columns.Add("NodeKey", GetType(String))    
...
end With
end sub
Public Sub LayDataSet_befuellen(byval ObjName as string, byval ObjNr as integer)    
 Dim DR_Lay As DataRow
 Dim i As Integer = DT_Lay.Rows.Count
 
 If i = 0 Then ErstDataRow_Anlegen() : i = 1
   DR_Lay = DT_Lay.NewRow
   DR_Lay("LFDObjNr") = i
   DR_Lay("ObjVor") = True
   DR_Lay("ObjName") = ObjName
   DR_Lay("ObjNr") = ObjNr
   DR_Lay("NodeKey") = fLay.pr_TreeviewKey
   DT_Lay.Rows.Add(DR_Lay)
end sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Ergebnis der Bindingsource Select-Abfrage von einem Column i...2.908jasmina30.07.10 15:22
Re: Ergebnis der Bindingsource Select-Abfrage von einem Colu...1.246jasmina03.08.10 11:46
Re: Ergebnis der Bindingsource Select-Abfrage von einem Colu...1.546ModeratorDaveS03.08.10 13:23
Re: Ergebnis der Bindingsource Select-Abfrage von einem Colu...1.192jasmina03.08.10 14:10

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel