vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 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

VB.NET - Ein- und Umsteiger
Re: leeres Item in Combob vor SQL daten einfügen 
Autor: ModeratorDaveS (Moderator)
Datum: 20.10.06 13:58

Ähm, da wird einfach noch ein EIntrag in die Liste eingefügt, wie ich gesagt habe. Was ist besonders daran?

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

leeres 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
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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... #
######################################################

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: leeres Item in Combob vor SQL daten einfügen 
Autor: ModeratorDaveS (Moderator)
Datum: 20.10.06 11:54

>>ich lese aus einer DB daten aus, welche dann in einer Combobox aufgelistet sind.

Ok, und wie machst du das, denn?

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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...
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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... #
######################################################

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: leeres Item in Combob vor SQL daten einfügen 
Autor: ModeratorDaveS (Moderator)
Datum: 20.10.06 12:33

Mit DataBinding geht das nur wenn du eine "leere" Zeile in die DataTable einfügst.Nacher solltest du den status der Reihe von "Added" ändern, um dass das nicht in die DB geschrieben wird bei einem Update (wenn sowas mit diesen Daten passiert). Ausserdem sollte die Spalte leer sein, und du musst die Daten sortieren (DataView), um das der neue Eintrag am Anfang kommt. Oder wenn du das DB-Schema zuerst einliest kannst du eine Reihe hinzufügen bevor du aus der DB liest, dann sollte sortieren nicht notwendig sein.

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: leeres Item in Combob vor SQL daten einfügen 
Autor: ModeratorFZelle (Moderator)
Datum: 20.10.06 13:48

Es geht schon

http://www.codeproject.com/useritems/AddItemToBindedComboBox.asp
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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...
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: leeres Item in Combob vor SQL daten einfügen 
Autor: ModeratorDaveS (Moderator)
Datum: 20.10.06 14:07

Du musst nur deine DataTable ändern, nicht die Daten in der DB.

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: leeres Item in Combob vor SQL daten einfügen 
Autor: ModeratorFZelle (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.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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 !!!
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: leeres Item in Combob vor SQL daten einfügen 
Autor: ModeratorDaveS (Moderator)
Datum: 20.10.06 16:11

Tja, du kannst auch einfach eine neues Klassenobjekt selber anlegen und hinzufügen, der Code tut das gleiche mit Reflection. Aber sowieso geht das nicht mit DataTable/DataView, auch wenn DataView IList implementiert. Deshalb hilft das nicht viel, es sei denn man kopiert alles in eine eigene IList. Allerdings gibt's bei CP noch ein Beispiel, was etwas raffinierter ist und auch (denke ich) mit DataView umgehen könnte:

http://www.codeproject.com/cs/combobox/UnboundItemsComboBox.asp

________
Alle Angaben ohne Gewähr. Keine Haftung für Vorschläge, Tipps oder sonstige Hilfe, falls es schiefgeht, nur Zeit verschwendet oder man sonst nicht zufrieden ist

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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