so suchen Sie eine DataTable für die bestimmten Datensatz?
Hallo,
Habe ich ein windows-Formular mit 10 Textfeldern und 1 combobox.
Wenn der Benutzer wählt einen Datensatz in der combo-box möchte ich feststellen, dass Datensatz in meinem Formular datatable variable (genannt dtBranches), dann füllen Sie meine 10 Textfelder aus der datarow.
Habe ich versucht, dieses:
Dim dr As System.Data.DataRow
If mSortCode > 0 Then
dr = dtBranches.Select("SortCode='" & mSortCode & "'")
Me.txtBranch.Text = dr("Branch").ToString()
Me.txtBankName.Text = dr("BankName").ToString()
Me.txtBranchTitle.Text = dr("BranchTitle").ToString()
Me.txtReference.Text = dr("Ref").ToString
Me.txtAddr1.Text = dr("Address1").ToString
Me.txtAddr2.Text = dr("Address2").ToString
Me.txtAddr3.Text = dr("Address3").ToString
Me.txtPostCode.Text = dr("PostCode").ToString
Me.txtTelNo.Text = dr("TelephoneNumber").ToString
Me.txtTown.Text = dr("Town").ToString
Me.txtTelNo.Text = dr("TelephoneNumber").ToString
end if
aber kann es nicht erhalten, zu kompilieren...
Was ist der richtige und beste Weg, dies zu tun bitte?
Dank
Philip
InformationsquelleAutor Our Man in Bananas | 2013-06-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
DataTable.Wählen Sie liefert ein array von DataRows. Sie müssen ein array deklarieren, um das Ergebnis zu erhalten
Natürlich, dann müssen Sie prüfen, wenn Sie haben zurückgegebenen Zeilen und der Adresse der ersten Zeile in das array
dtBranches
leer ist, nach dem ausführen derSelect
Befehl. Wie kann ich es zurücksetzen, so dass die combo-box ist nicht betroffen?Dieser code sollte sich nicht auf die combo in keiner Weise. Wählen Sie mit auf die dtBranches nicht ändern, den Inhalt der Tabelle. Sind Sie sicher, dass es keine anderen code, ändert die dtBranches Tabelle Inhalt?
vielen Dank, ich war mit
Reset
am Ende meiner bevölkern code um den filter zu entfernen - jetzt bin ich dabei dtBranches.Wählen Sie("")InformationsquelleAutor Steve
Ich würde
Linq-ToDataSet
und die stark typisierteField
Methode statt:Wenn Sie vergleichen möchten, und Fall-unempfindlich, ersetzen Sie die
Where
oben mit:Durch die Art und Weise, weisen Sie die Telefonnummer zweimal.
Vielen Dank für deine Hilfe, aber (nach dem hinzufügen von korrekten Referenzen auf **System.Daten.DataSetExtensions **) ich bekomme diese Fehlermeldung
Public member 'Any' on type 'EnumerableRowCollection(Of VB$AnonymousType_0(Of DataRow,String))' not found.
auf der LinieIf matches.Any()
... wie kann ich das beheben, bitteSie
Using System.Linq
, wenn Sie ein Upgrade auf 3.5, die Sie haben könnten, um den Verweis hinzuzufügen, um dieSystem.Core.dll
.Ich fügte hinzu, die Referenz, und in meiner Prozedur, die ich setzen
Using System.Linq
. Am Ende meiner Prozedur, legte ichEnd Using
. Aber ich bekomme einen compile-Fehler System.Linq ist ein namespace und kann nicht als Ausdruck verwendet werden. Wie löse ich das bitte?Sie müssen nicht fügen Sie die Verwendung in der Methode, die verwendet wird, zu entsorgen Objekte. Sorry, ich habe gemischte C# und VB.NET hier. In VB ist es Importe System.Linq an den Anfang der Datei.
InformationsquelleAutor Rango