vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 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 - Fortgeschrittene
Re: Datagridview nur Zahlen in Bestimmten Spalten zulassen 
Autor: ModeratorDaveS (Moderator)
Datum: 13.05.14 12:49

Was EDR sagt ist nicht unbedingt immer ernst zu nehmen. Solche Links sind nicht 'verboten'.

________
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

Datagridview nur Zahlen in Bestimmten Spalten zulassen 
Autor: Sisco86
Datum: 25.03.14 14:58

Hallo Zusammen,

ich habe ein DGV mit verschiedenen Spalten.
In einigen kann alles eingetragen werden ohne das bedenken angemedlet werden müssen.
In einer bestimmten wird jedoch gerechnet.

Bsp.:
Bei Änderung in einer Zelle wird der Inhalt der Aktuellen Zelle mit einer anderen addiert.

Die Mathematische Berechnung erfolgt über

Private Sub DataGridView1_CellEndEdit(ByVal sender As Object, ByVal e As _
  System.Windows.Forms.DataGridViewCellEventArgs) Handles _
  DataGridView1.CellEndEdit
Jetzt habe ich folgendes Problem. In der bestimmten Zelle dürfen nur Zahlen eingetragen werden oder der Benutzer muss darauf hingewiesen werden.

Wie mache ich das mit dem Contains Befehl?

Ich müsste ja eigentlich sagen:

Dim Text as string = Me.DataGridView1.CurrentCell.Value
if Text.contains(Buchstaben und Sonderzeichen) then
  Msgbox("Bitte nur Zahlen verwenden")
  Exit sub
Wie kann ich das Realisieren?
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview nur Zahlen in Bestimmten Spalten zulassen 
Autor: fin
Datum: 25.03.14 16:08

hallo Sisco86

vielleicht unter CellValidating

Private Sub DGV_CellValidating(sender As Object, e As System.Windows.Forms.DataGridViewCellValidatingEventArgs) Handles DGV.CellValidating
Me.DGV.Rows(e.RowIndex).ErrorText = ""
Dim newInteger As Integer
If e.ColumnIndex = 1 Or e.ColumnIndex = 2 Then 'nur die beiden ersten spalten außer Primärschlüssel
' nicht validieren, bevor eine "new row" zu Ende geschrieben ist
If DGV.Rows(e.RowIndex).IsNewRow Then Return
If IsDBNull(DGV.Rows(e.RowIndex)) Then
e.Cancel = True
Me.DGV.Rows(e.RowIndex).ErrorText = "bitte ausfüllen: eine ganze Zahl oder 0 eintragen"
End If
If Not Integer.TryParse(e.FormattedValue.ToString(), newInteger) _
OrElse newInteger < 0 Then
'wenn keine Zahl:
e.Cancel = True
Me.DGV.Rows(e.RowIndex).ErrorText = "Der Wert muss eine ganze Zahl oder 0 sein"

End If
End If
End Sub
 
lg Fin
 
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview nur Zahlen in Bestimmten Spalten zulassen 
Autor: Manfred X
Datum: 25.03.14 16:46

Ich würde zur Gestaltung einer Eingabemaske raten.

Dort kannst Du die Eingaben über spalten-gebundene Textboxen
z.b. maskieren oder validieren und in Labels dem User
geeignete Informationen zur jeweils fokusierten Spalte oder
gezielte Fehleingabe-Rückmeldungen geben.

Auch die Resultate von Konsistenzprüfungen, die sich auf den gesamten
Datensatz beziehen oder die Durchführbarkeit von Berechnungen checken
(nicht alle Zahlen sind brauchbar), können in einer Maske einfacher
kommuniziert werden.





Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview nur Zahlen in Bestimmten Spalten zulassen 
Autor: ErfinderDesRades
Datum: 27.03.14 11:10

ich würde zu einem typisierten Datenmodell raten, an das die Controls gebunden wären.
Damit hätte man Oberfläche und Daten voneinander getrennt, und mit den Daten würde gerechnet, und die Eingabe-Validierung wäre ein eigenständiger, klar definierter Concern.

VisualStudio bietet enorme Unterstützung für diesen Ansatz, und er ist einfach "Best Practice".
Die Unterstützung ist so gewaltig, dass man sie sich tatsächlich nicht vorstellen kann, wenn man das nicht mal konkret (videomäßg) gesehen hat.
Also bei Interesse kann ich einen Link auf einschlägige Tuts anbieten, direkt zu verlinken ist mir ja verboten.

(Rechtschreibfehler urheberrechtlich geschützt)

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview nur Zahlen in Bestimmten Spalten zulassen 
Autor: Manfred X
Datum: 27.03.14 18:20

... und ich würde von typisierten Datasets abraten,
falls man es nicht mit relativ trivialen Datenbankabfragen
zu tun hat.

Flexibler ist es, wenn man ein Baukastensystem aus
eigenen Klassen erstellt, die für den spezifischen
Anwendungszweck konstruiert und entsprechend optimiert sind.


Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview nur Zahlen in Bestimmten Spalten zulassen 
Autor: ErfinderDesRades
Datum: 27.03.14 18:51

Es ist kein Thema, die typisierten Datasetklassen auf spezielle Anforderungen hin weiterzuentwickeln - in den partialen Klassen kann man alle mögliche Funktionalität unterbringen.
Braucht man nur fast nie, denn Sortieren, Filtern, Editieren, Canceln, Laden, Speichern, Löschen - der ganze Kram ist schon drinne, und harmonisiert bereits in wie gesagt unvorstellbarem Ausmass (man muss es mal gesehen haben) mit der Präsentation via Windows.Forms.

Also ich wüsste jetzt nicht, in welcher Hinsicht sich ein typDataset als unflexibler erweisen sollte, es ist einfach nur exorbitant mächtiger als alles selbstgebastelte, was ein Einzel-Coder so zustandebringen kann.

Und selbst wenn du es schafftetest: Du hättest nur das Rad neu erfunden, denn typisiertes Dataset gibts ja schon lange.

Aber belassen wirs dabei: Ich rate dazu, du rätst davon ab.

Einig sind wir glaub in dem Punkt, dass Daten und Oberfläche zu trennen ist.
Sind wir eiglich einig, dass die Verbindung zw. beidem am besten per Databinding abzuhandeln ist?
Oder bist du in dem Punkt annerer Meinung?

(Rechtschreibfehler urheberrechtlich geschützt)

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview nur Zahlen in Bestimmten Spalten zulassen 
Autor: Manfred X
Datum: 27.03.14 19:30

Das hat nichts mit Meinungen zu tun.

Du übergeneralisierst bestimmte Vorgehensweisen.
Die sind oft nicht oder nur sehr umständlich anwendbar.

Das beginnt schon bei den Datentypen.
Für Berechnungen verwende ich einen selbst-erstellten Datentyp,
(Basis: BigInteger), der mit 50 Nachkomma-Stellen Genauigkeit
rechnet (iterative Algorithmen, Minimierung der Größe des
sich fortpflanzenden Fehlers).

Auch das relationale Datenmodell ist oft nicht oder nicht
direkt einsetzbar (z.B. bei dynamisch erstellten,
mehrdimensionalen Verknüpfungen oder wenn die Auswahl von Routinen
oder das Speichermodell datenabhängig ist).

Und Datenbindung?
Abgesehen von Editoren, gehören Datenbestände meist nicht in die Oberfläche.
Der Benutzer benötigt statt dessen daraus aufbereitete Indikatoren, die ihn
über die verfügbaren Verwertungs-Optionen und Bestände (Quantität, Qualität)
informieren. Er kann auf dieser Grundlage entscheiden, welche Operationen
auszuführen sind.
Schon die tabellarische Aufbereitung der Resultate läßt sich
häufig nicht standardisieren, sondern geschieht OnTheFly: Es handelt sich
um Zusammenstellungen bezogen auf die durchgeführten Ops. Die liefern
ihre Ergebnisse (Graphiken, Tabellen, Texte) jeweils in spezifischen
serialisierbaren Klassen.













Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview nur Zahlen in Bestimmten Spalten zulassen 
Autor: ErfinderDesRades
Datum: 27.03.14 19:41

also gut, wenn du von sonem Szenario ausgehst, wo man eigene Zahlentypen braucht, weil Decimal oder BigInt nicht mehr hinlangen, oder mehrdimensionale Verknüpfungen (ich hab keine Ahnung, was das sein soll) und iwelche aufbereiteten Indikatoren - vlt. hast recht, vlt. auch nicht, weil abgesehen vom selbstgebastelten Zahlentyp versteh ich garnet, wovon du redest.

Ist jetzt die Frage, ob Sisco86 auch vor solchen Anforderungen steht...
Weil gefragt hatte er ja nur nach datentyp-sicherer Eingabe, und das versteh ich noch, und dafür bräuchte man in meiner übergeneralisierten Vorgehensweise gar nichts tun, das brächte sie in (durchaus erweiterbarer) Rohform bereits mit für lau.

(Rechtschreibfehler urheberrechtlich geschützt)

Beitrag wurde zuletzt am 27.03.14 um 19:42:40 editiert.

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview nur Zahlen in Bestimmten Spalten zulassen 
Autor: Manfred X
Datum: 27.03.14 20:31

Mein Eindruck:
Du beurteilst alles aus der Perspektive einer als
Dataset aufbereiteten Datenstruktur, die dem User präsentiert
werden soll.

Was sind Daten-Indikatoren? Eigentlich keine Geheimnis ...
- statistische Kennwerte zu Zeilen/Spalten (deskriptiv, explorativ)
- Matrix-Kennwerte zu numerischen Tabellen
- Ausreißer- und Missing-Angaben
- Ergebnisse von Konsistenztests (Beurteilung der Schlüßigkeit von Datensätzen,
Ergebnisse des Abgleichs mit anderen Beständen)
- usw.

Komplizierte Verknüpfungs-Routinen werden z.B. erforderlich, wenn
Datenbestände nur partiell strukturiert worden sind:
Verknüpfungen zwischen Bedingungs-Angaben und Meßwerten müssen
- z.B. beim Vorliegen mehrfach gestaffelter randomisierter Versuchspläne -
im Rahmen einer Pfadsuche aus den vorliegenden Angaben zu den
Zwischenbedingungen ggf. erst ermittelt werden.
(Die Angaben in den "Datenbehältern" beziehen sich dabei häufig nur auf
eine Versuchsstufe bei der jeweils ein Subset der Merkmalsträger einbezogen
ist. Das liegt u.a. daran, daß bei Blindversuchen nicht bekannt ist, aus
welcher Vorstufe die Merkmalsträger stammen.)
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview nur Zahlen in Bestimmten Spalten zulassen 
Autor: Manfred X
Datum: 27.03.14 21:49

[I]Braucht man nur fast nie, denn Sortieren, Filtern, Editieren, Canceln,
Laden, Speichern, Löschen - der ganze Kram ist schon drinne[/I]

Das sehe ich "anners".
Implementiert sind einfache Basics.
Es gibt z.B. keine Möglichkeit, einen "CustomComparer" für Datensätze
vorzugeben. Das Sortieren und Filtern kann deshalb sehr aufwendig, werden,
wenn man es im Rahmen der Datenbindung einsetzen will - ohne auf die
entsprechende DataGridView-Methode auszuweichen.
(Ich glaube, auch andere Operationen laufen über Controls-Methoden.)

Zum Laden und Speichern von Sätzen aus Datenbanken werden ADO.Net-Klassen
verwendet. Die Adapter füllen bei Bedarf ein Dataset, es bieten sich aber
auch alternative Möglichkeiten.











Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview nur Zahlen in Bestimmten Spalten zulassen 
Autor: ErfinderDesRades
Datum: 27.03.14 22:26

ja, vlt. hast du tw. recht, typDataset ist aus deiner Sicht eher auf Wald- und Wiesen-Anforderungen ausgelegt. CustomComparer etwa hab ich noch nie gebraucht, die eingebaute Sortiererei beherrscht numerische, alphabetische und Datum - Sortierung - also damit kommt man schon ein ordentliches Stück weit hin.

Weswegen ich den "Primitivling" auch empfehle ist, dass man mal erlebt hat, wie umfassend Visualstudio, WinForms, Databinding, Persistierung und Datenmodell miteinander integriert sein können.

Das halte ich auch für eine gute Grundlage, um wenns die Ansprüche mal wirklich nicht mehr bedienen kann, immer noch als Richtschnur zu dienen, in welche Richtung man dann sein selbstgebasteltes System mit Superdatentypen, CustomComparern, n-dimensionalen Verknüpfungen und IndikatorFunktionatorAnalysandenPerforator und Brimborium designed.

Ich vermute jedenfalls mal ganz unverschämt, dass diese dolle Dinge alle derzeit für Sisco86 noch 2 Km zu hoch sind.

Und du kannst ihm da glaub auch kein praktisches Sample liefern, weil so Zeug vermutlich eingebettet ist in einem riesigen Kontext, den mitzuliefern jeden Rahmen sprengen dürfte.

Aber so popelige Dataset-Sample-Anwendungen - damit kann ich ihn haufenweise beschmeißen, auch zu verschiedensten Anforderungen.
Weil das ist halt Standard-Technologie.

(Rechtschreibfehler urheberrechtlich geschützt)

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview nur Zahlen in Bestimmten Spalten zulassen 
Autor: Manfred X
Datum: 27.03.14 23:27

Standard?

Es ist eine in die IDE-Bedienung integrierte
Möglichkeit, schnell eine DB-Anwendung zu erstellen,
ohne daß man Hintergründe kennen oder sich um die
Details kümmern muß.

Sobald weiterführende Funktionen erforderlich werden,
steht man schnell vor der Frage, ob das Herumbasteln am
vorgegebenen Code effizient ist - oder ob man nicht gleich
ein spezifisches Klassen-Konzept entwickelt.




Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview nur Zahlen in Bestimmten Spalten zulassen 
Autor: ErfinderDesRades
Datum: 27.03.14 23:48

natürlich Standard.
Immerhin wird die Technologie und die Tools dafür mit jedem VS ausgeliefert, was gedownloaded wird.
Und ich könnt mir vorstellen, MS hat sich was dabei gedacht, nämlich dass vlt. der eine oder annere das Zeugs auch benutzt.
So, wie ja auch der eine oder annere den Form-Designer benutzt ;).
Was übrigens ein guter Vergleich ist: Auch der FormDesigner ist ein Tool fürs Rapid-Development, und man kriegt schnell und ohne alle Hintergründe bis ins Detail zu kennen doch für eine weites Anforderungsspektrum sehr respektable und v.a. stabile Ergebnisse.

Und auch die Form-Designer-Technologie langt vlt. gelegentlich für die eine oder annere Spezial-Anforderung nicht mehr aus, und dann muss man sich eben doch z.T. ziemlich gewaltig reinknien in die Details.

Also als Standard würde ich das schon bezeichnen.
Und lohnt sich unbedingt, diesen Standard erstmal kennenzulernen, ehe man evtl. dran geht, noch was dolleres selbst zu basteln.

(Rechtschreibfehler urheberrechtlich geschützt)

Beitrag wurde zuletzt am 27.03.14 um 23:51:44 editiert.

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview nur Zahlen in Bestimmten Spalten zulassen 
Autor: Manfred X
Datum: 27.03.14 23:55

Es ist genau umgekehrt.

Designer "verführen" die Einsteiger dazu, sich nicht zunächst
um das Erlernen der Grundlagen zu kümmern und statt dessen
einfach loszulegen.
Aufbau und Arbeitsweise des Codegerüsts, das dabei "automatisiert" entsteht,
wird nicht verstanden - und die daran vorgenommenen Basteleien gehen
"furchtbar" schief. Man spart keine Zeit, sondern sie wird verplempert.

Für den graphische Oberflächendesigner gilt das nicht in diesem Ausmaß.
Er erzeugt nur relativ einfach durchschaubaren Code und liefert einen
visuellen Eindruck, der die Form-Entwicklung sinnvoll unterstützen kann.

Beitrag wurde zuletzt am 27.03.14 um 23:59:42 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview nur Zahlen in Bestimmten Spalten zulassen 
Autor: ErfinderDesRades
Datum: 28.03.14 00:51

Ähm - grad durch die Abstraktion des DatasetDesigners ist ein Einsteiger besonders klar auf die wirklichen Grundlagen relationaler Datenmodellierung geworfen:
Er hat da ein ER-Modelling-Tool vor seiner Nase und muss sein Datenmodell nach den Prinzipien relationaler Datenmodellierung konzipieren.

Die Relationalität von Datenbeständen ist in selbstgebastelten Klassen ja gar nicht sichtbar. Und die Features, die sich daraus für die Oberflächen-Entwicklung ergeben, sind selbstgebastelt für einen Normal-Progger gar nicht machbar.

Beispiel: Aufgaben sollen Mitarbeitern zugeteilt werden:
Wieviele Zeilen Code musst du aufwenden, um etwa eine Combobox-Spalte in ein Datagridview zu frickeln, mit der man für den Aufgabe-Datensatz den zuständigen Mitarbeiter auswählen kann?

Wieviele Zeilen brauchst du dann für den Parent-ChildView, bei dem man aus allen Mitarbeitern einen auswählt, und dessen Aufgaben zu Gesicht bekommt?

Und bitte daten-konsistent, also wenn eine Aufgabe einem anneren MA zugeteilt wird, dann soll sie auch stantepede im ParentChildView vom einen MA auf den anderen gewechselt sein.

Solche Sachen ergeben sich direkt aus der relationalen Logik, und diese abstrakte Grundlage hat man im Dataset-Designer vor der Nase - hingegen bei selbstgebasteltem hab ich große Zweifel, ob das überhaupt irgendwie zu bewerkstelligen ist, und wenn, dann sicher nicht mit der Intuitivität eines Dataset-Designers.


Stimmt natürlich, dass mit dem Visual-Developping auch der letzte Hurgler ein bischen datenbänkern kann, ohne jemals irgendwas von OOP-Konzepten wie Datentypen, Interfaces, Enumerationen oder Basisklassen verstanden zu haben.
Das wird er dann nachholen müssen, wenns ihm fehlt, denn richtig viel weit kommt man ohne das auch bei designer-gestützter Entwicklung nicht.
Weil beim wirklcihen Verarbeiten, Berechnungen etc., da muss man halt programmieren können, und also mit den OOP-Konzepten umgehen. Aber immerhin hat man schonmal ein Datenmodell da stehen, wo die OOP-Konzepte ebenso korrekt drin verbaut sind wie das relationale Konzept - man muss nicht das ganze komplexe Gebäude selber aufbauen.

Und verplempert ist die Zeit der Beschäftigung mittm relationalen Konzept deswegen sicher nicht.

(Rechtschreibfehler urheberrechtlich geschützt)

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview nur Zahlen in Bestimmten Spalten zulassen 
Autor: Manfred X
Datum: 28.03.14 06:33

Hmm.

Aufgaben setzen sich gewöhnlich aus Teilaufgaben zusammen, für deren
Abwicklung jeweils bestimmte Ressourcen, Qualifikationen und Erledigungszeiten
benötigt werden.
Die Mitarbeiter besitzen Qualifikationen und Terminplanungen.

Die Zuordnung zwischen einer Aufgabe und einem Mitarbeiter erfordert deshalb
die Überprüfung der Qualifikation bezogen auf Teilaufgaben sowie auf die Zeitplanung
des Mitarbeiters - und das in Korrespondenz zur zeitlichen Verfügbarkeit der
erforderlichen Ressourcen. Dabei sind also Verknüpfungen von mindestens ca. 10
Datenbank-Tabellen einzubeziehen - (ohne die M:N-Zuordnungstabellen).

Realisiert wird so etwas wohl am besten durch die Entwicklung eines
Algorithmus, der für einen bestimmten Zeitraum und eine Abteilung eine "optimale"
Gesamtlösung für die Zuordnung: Mitarbeiter, Aufgaben, Ressourcen, Zeiten errechnet -
oder auf entstehende Engpässe hinweist (Reports mit Arbeits- und Zeitplänen).

Wie aufwendig so ein Planungsalgorithmus ist, hängt von der Art und Menge der
Einschränkungen ab, die die Rahmenbedingungen der Optimierung bilden.

Das ist keine Aufgabe, die ein User über die Benutzeroberfläche erledigen kann.
Insofern sehe ich keine Beziehung zu Controls oder Views.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview nur Zahlen in Bestimmten Spalten zulassen 
Autor: Winnie Puuh
Datum: 09.05.14 08:05

zurück zum Thema:

die von fin dargestellte Lösung prüft erst, wenn die Eingabe schon beendet ist. Mein Ansatz ist, erst gar keine unerlaubten Zeichen zuzulassen:

Ich verwende daher die Behandlung des Ereignisses EditingControlShowing des DGV. Dies tritt ein, wenn ein Steuerelement zur Bearbeitung einer Zelle angezeigt wird.

Zunächst prüfe ich, ob es sich um eine DataGridViewTextBox handelt, und ob die aktive Spalte die ist, in der nur Zahlen erlaubt sind. Dann wird der KeyPress-Ereignis-Handler zunächst entfernt und wieder hinzugefügt, um bei Wiederholungen sicherzugehen:
''' <summary>
''' die aktive Zelle
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub dgvVorgang_EditingControlShowing(ByVal sender As Object, _
                                                 ByVal e As _
                                                 System.Windows.Forms.DataGridV_
                                                 iewEditingControlShowingEventA_
                                                 rgs) _
                                                 Handles _
                                                 dgvVorgang.EditingControlShowi_
                                                 ng
 
    If TypeOf (e.Control) Is DataGridViewTextBoxEditingControl Then
        Dim locTB As DataGridViewTextBoxEditingControl = _
                            CType(e.Control, DataGridViewTextBoxEditingControl)
        RemoveHandler locTB.KeyPress, AddressOf TextBox_KeyPress
 
        If dgvVorgang.CurrentCell.ColumnIndex = 4 Then
            AddHandler locTB.KeyPress, AddressOf TextBox_KeyPress
        End If
 
    End If
 
End Sub
Dann gibt es die Behandlung des KeyPress-Ereignisses der TextBox, die die numerische Eingabe prüft:
''' <summary>
''' in einer Textbox des DataGridViews wurde ein Zeichen eingegeben
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks>
''' nur numerische Eingabe zulassen
''' </remarks>
Private Sub TextBox_KeyPress(ByVal sender As Object, ByVal e As _
  KeyPressEventArgs)
 
    If Not IstNumerischeEingabe(e.KeyChar) Then
        e.Handled = True
    End If
 
End Sub
...man könnte natürlich auch schreiben "e.Handled = not IstNumerischeEingabe(e.KeyChar)"

Die Funktion IstNumerischeEingabe ...
''' <summary>
''' prüft, ob das Zeichen in einem rein numerischen Eingabefeld erlaubt ist
''' </summary>
''' <param name="Zeichen"></param>
''' <returns></returns>
''' <remarks></remarks>
Public Function IstNumerischeEingabe(ByVal Zeichen As Char) As Boolean
 
    Return (",1234567890" & Keys.Back & Keys.Delete).Contains(Zeichen)
 
End Function

Denk' Denk' Denk'

Beitrag wurde zuletzt am 09.05.14 um 08:08:09 editiert.

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview nur Zahlen in Bestimmten Spalten zulassen 
Autor: us4711
Datum: 13.05.14 10:46

Das pfiffigste wäre natürlich, eine NumericDatagridviewColumn zu entwickeln, die dann mit der gewünschten Spalte verbunden wird.
Das entsprechende Basiscontrol, von Textbox abgeleitet, habe ich erst gestern auf vbParadise gesehen.
Wie EDR ausführt, direkter Link ist in disem Forum ja Bah Bah ...
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview nur Zahlen in Bestimmten Spalten zulassen 
Autor: ErfinderDesRades
Datum: 13.05.14 12:53

Ja, die Sache ist "kontrovers", um es mal diplomatisch auszudrücken.
Erklären, ohne dass mir widersprochen wird, kann ich vermutlich nicht, aber ich habe mir einen Thread gemerkt, wo das das Thema war, und wer will, muss halt selbst versuchen zu verstehen:
http://www.vbarchiv.net/forum/read.php?f=22&i=93568&t=93560

(Rechtschreibfehler urheberrechtlich geschützt)

Beitrag wurde zuletzt am 13.05.14 um 12:59:27 editiert.

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview nur Zahlen in Bestimmten Spalten zulassen 
Autor: Manfred X
Datum: 13.05.14 13:21

Du merkst Dir die falschen Threads !
http://www.vbarchiv.net/forum/read.php?f=24&t=19722&i=19743
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Datagridview nur Zahlen in Bestimmten Spalten zulassen 
Autor: Sisco86
Datum: 13.05.14 18:42

Private Sub DataGridView1_CellEndEdit(sender As Object, e As _
  DataGridViewCellEventArgs) Handles DataGridView1.CellEndEdit
Dim Spalte As Integer = Me.DataGridView1.CurrentCell.ColumnIndex
        Dim zeile As Integer = Me.DataGridView1.CurrentCell.RowIndex
        Dim ZahlImString As Boolean
 
        ZahlImString = System.Text.RegularExpressions.Regex.IsMatch( _
          Me.DataGridView1.Item(Spalte, zeile).Value, "\d+")
        If ZahlImString = False Then
            Me.DataGridView1.Item(Spalte, zeile).Value = ""
        End If
End Sub
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