| |
VB.NET - Ein- und Umsteigerleeres Item in Combob vor SQL daten einfügen | | | Autor: Razagoul | Datum: 20.10.06 11:35 |
| Hallo,
ich lese aus einer DB daten aus, welche dann in einer Combobox aufgelistet sind.
ich möchte aber vor den einträgen, also als standard ausgewählt, eine leereintrag haben.
wie ?
Danke im vorraus | |
Re: leeres Item in Combob vor SQL daten einfügen | | | Autor: DerLord | Datum: 20.10.06 11:38 |
| combobox1.items.add("---Bitte wählen---")
oder übergibst halt ein leerzeichen, was auch immer
MfG
Huppi
######################################################
# Dank Computer wissen wir viel genauer, was wir nicht wissen... #
###################################################### | |
Re: leeres Item in Combob vor SQL daten einfügen | | | Autor: Razagoul | Datum: 20.10.06 12:03 |
| Public Function FuellenAbteilung(ByVal cboComboBox As ComboBox, Optional ByVal _
blnMitLeerEintrag As Boolean = False) As clsXXXXX_Abteilungen
'----------------------------------------------------------------------
' -----------------
'Aufgabe: Fuellen der Combobox mit den verschiedenen Abteilungen
'--------------------------------------------------------------
' -------------------------
'Eingabe: cboComboBox: ComboBox: zu fuellende Combobox
' blnMitLeerEintrag: Boolean (Optional): soll ein Leereintrag
' dazu erzeugt werden
'Rueckgabe: clsXXXXX_Abteilungen: die gelesenen Abteilungen zurueckgeben
'----------------------------------------------------------------------
' -----------------
Dim i As Integer
Dim udtAbteilungen As clsXXXXX_Abteilungen
Try
udtAbteilungen = New clsXXXXX_Abteilungen
'Combobox leeren
cboComboBox.Items.Clear()
'Daten aus DB lesen
udtAbteilungen.Laden(, , blnMitLeerEintrag = True)
'Daten aus Klasse in die Combobox schreiben
cboComboBox.DataSource = udtAbteilungen
cboComboBox.DisplayMember = "Abteilung"
cboComboBox.ValueMember = "Kurzname"
'ersten Eintrag auswaehlen
If cboComboBox.Items.Count > 0 Then
cboComboBox.SelectedIndex = 0
End If
Catch ex As Threading.ThreadAbortException
'bei einer ThreadAbortException soll gar nichts passieren
Catch ex As Exception
'im Fehlerfall Fehlermeldung ausgeben
ErrorMessage1(ex)
End Try
Return udtAbteilungen
End Function Mit Item einfügen als leereintrag geht nix, weil datasource gesetzt wurde... die udtAbteilung wird über nen SQL mit den Abteilungen gefüllt.. irgendwie luppt das mit dem leereintrag nich... | |
Re: leeres Item in Combob vor SQL daten einfügen | | | Autor: DerLord | Datum: 20.10.06 12:24 |
| dann kann das so auch nicht klappen, müßtest das dann schon zeilenweise hinzufügen.
Wie erzeugst du denn einen "Leereintrag" ?? mit dbnull oder Leerzeichen?? Ein Leerzeichen ist bei der sortierung nämlich nicht immer an erster stelle, kommt nach ascii erst an stelle 20 und ist daher nicht wirklich sauber...
MfG
Huppi
######################################################
# Dank Computer wissen wir viel genauer, was wir nicht wissen... #
###################################################### | |
Re: leeres Item in Combob vor SQL daten einfügen | | | Autor: Razagoul | Datum: 20.10.06 14:01 |
| ich habe aber nich die möglichkeit die tabelle auf der as400 abzuändern... sprich ich kann da keinen leeren eintrag zufügen... daten werden nur ausgelesen und bieten dann die möglichkeit die suche nach dokumenten zu spezifizieren... | |
Re: leeres Item in Combob vor SQL daten einfügen | | | Autor: FZelle (Moderator) | Datum: 20.10.06 15:39 |
| Hier wird nicht der DataTable, sondern nur der internen Liste der ComboBox etwas hinzugefügt.
Das ist schon was anderes. | |
Re: leeres Item in Combob vor SQL daten einfügen | | | Autor: Razagoul | Datum: 20.10.06 15:42 |
| funktioniert... habs mir alles noch und nochmal angeguckt und jetzt gehts mit dem leereintrag..
aber danke an alle !!! | |
Re: leeres Item in Combob vor SQL daten einfügen | | | Autor: spike24 | Datum: 23.10.06 09:39 |
| kann sein das ich da jetzt ein bisschen spät drann bin, aber ich hab mal ne tolle lösung dafür bekommen
ein zus tabelle in der Datenbank, eine Spalte mit dem Namen ID name der Tabelle T_UNION und ein Datensatz in der Tabelle mit dem Wert 0 in der spalte ID
"SELECT LfdNr, Name, Sort_Feld FROM Adressen UNION ALL SELECT 0, Null, Null" & _
"FROM T_Union ORDER BY Sort_Feld" für jedes Feld im Select muss ein Null nach UNION ALL
und mit dieser Funktion kann man das zu einem bestehenden SQLString hinzufügen
Private Shared Function AddUnionToSql(ByVal SQLString As String) As String
Dim sUnion As String
Dim FieldCount As Integer = GetFieldCount(SQLString)
Dim FieldString As String = ""
For x As Integer = 1 To FieldCount
FieldString &= ", Null"
Next
sUnion = "UNION ALL SELECT 0" & FieldString & " FROM T_Union"
If SQLString Is Nothing And sUnion Is Nothing Then
Return ""
ElseIf SQLString Is Nothing Then
Return sUnion
ElseIf sUnion Is Nothing Then
Return SQLString
End If
SQLString = SQLString.TrimEnd
sUnion = sUnion.Trim
Dim iStartOrderBy As Integer
Dim sOrderBy As String
iStartOrderBy = SQLString.IndexOf(" ORDER BY ")
If iStartOrderBy <> -1 Then
sOrderBy = SQLString.Substring(iStartOrderBy, SQLString.Length - _
iStartOrderBy)
Return SQLString.Substring(0, iStartOrderBy) & " " & sUnion & _
sOrderBy
Else
Return SQLString & " " & sUnion
End If
End Function
Private Shared Function GetFieldCount(ByVal SQLString As String) As Integer
' ich
Dim pos As Integer
Dim posKlAuf As Integer
Dim posKlZu As Integer
Dim posFrom As Integer
Dim anzKl As Integer
Dim aktPos As Integer
Dim uSelBeg As Integer
Do While 1
posKlAuf = SQLString.IndexOf("(")
posFrom = SQLString.IndexOf("FROM")
If posKlAuf <> -1 Then
If posKlAuf < posFrom Then
' es gibt einen unterselect im Fieldstring
uSelBeg = posKlAuf
anzKl = 1
Else
Exit Do
End If
Else
Exit Do
End If
' unterselect entfernen
aktPos = uSelBeg + 1
Do While anzKl <> 0
posKlAuf = SQLString.IndexOf("(", aktPos)
posKlZu = SQLString.IndexOf(")", aktPos)
If posKlAuf = -1 Then posKlAuf = posKlZu + 1
If posKlAuf < posKlZu Then
anzKl += 1
aktPos = posKlAuf + 1
Else
anzKl -= 1
aktPos = posKlZu + 1
End If
Loop
SQLString = SQLString.Remove(uSelBeg - 1, posKlZu - uSelBeg + 2)
Loop
pos = SQLString.IndexOf(" FROM")
Return SQLString.Substring(6, pos).Split(",").Length - 1
End Function 0 | |
| 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 |
|
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats Neu! sevPopUp 2.0
Dynamische Kontextmenüs!
Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... Weitere Infos
|