| |
VB.NET - FortgeschritteneDatetimepicker MinDatum / MaxDatum | | | Autor: ERBRU | Datum: 19.03.18 10:12 |
| habe 2 DTP die ich nun aus einer Datatable mit MinDatum MaxDatum füllen möchte.
habe da kein Dataset nur die dt1 as Datatable
wie geht es damit ?
möchte anschließend damit filtern Einschränken von bis aus den DTP
die Code Zeile Dim col_Datum = dt1.Rows("Eintrag").ToString passt aber nicht?
hier drv.Eintrag sagt er schon mal: ist kein Member von System.Data.Datarow
'Datum Filter
Private Sub fill_Stoer_Datum()
'dt1 = Datatable
Dim minDatum = (From drv In dt1 Where drv.RowState <> _
DataRowState.Deleted Select drv.Eintrag).Min
Dim maxDatum = (From drv In dt1 Where drv.RowState <> _
DataRowState.Deleted Select drv.Eintrag).Max
If minDatum < dtp_Stoerung_Datum_von.MinDate Then
dtp_Stoerung_Datum_von.MinDate = minDatum : _
dtp_Stoerung_Datum_bis.MinDate = minDatum
End If
If maxDatum > dtp_Stoerung_Datum_bis.MaxDate Then
dtp_Stoerung_Datum_von.MaxDate = maxDatum : _
dtp_Stoerung_Datum_bis.MaxDate = maxDatum
End If
With dtp_Stoerung_Datum_von
.MinDate = minDatum : .MaxDate = maxDatum : .Value = minDatum
End With
With dtp_Stoerung_Datum_bis
.MinDate = minDatum : .MaxDate = maxDatum : .Value = maxDatum
End With
End Sub
Private Sub dtp_Stoerung_ValueChanged(sender As Object, e As EventArgs) _
Handles dtp_Stoerung_Datum_von.ValueChanged, _
dtp_Stoerung_Datum_bis.ValueChanged
If gbx_Störungen_Datumfilter.Enabled = False Then Return
Dim lst_Datum As New List(Of Date) From {dtp_Stoerung_Datum_von.Value, _
dtp_Stoerung_Datum_bis.Value}
check_Stoer_Datum(lst_Datum)
Dim col_Datum = dt1.Rows("Eintrag").ToString
BindingSource.Filter = String.Format("[{0}] >= '{1}' AND [{0}] <=" & _
"'{2}'", col_Datum, dtp_Stoerung_Datum_von.Value, _
dtp_Stoerung_Datum_bis.Value)
End Sub
Private Sub check_Stoer_Datum(ByVal lst_Datum As List(Of Date))
'Wenn Von-Datum > Bis-Datum Dann...
dtp_Stoerung_Datum_von.Value = lst_Datum.Min
dtp_Stoerung_Datum_bis.Value = lst_Datum.Max
End Sub | |
Re: Datetimepicker MinDatum / MaxDatum | | | Autor: effeff | Datum: 20.03.18 17:44 |
| //die Code Zeile Dim col_Datum = dt1.Rows("Eintrag").ToString passt aber nicht?//
Nein, das ist völliger Quatsch...
//habe da kein Dataset nur die dt1 as Datatable//
In einem DataSet können DataTables gehalten werden müssen aber nicht; Es spricht nichts dagegen, nur mit einer DataTable zu arbeiten...
Du brauchst doch nur Deine DataTable nach dem höchsten bzw. niedrigsten Wert abzufragen; Wenn also Deine DataTable den schönen sprechenden Namen "dt1" hat und die Spalte, in der Du dein Datum hast, "Eintrag":
Dim max as Object = dt1.Compute("MAX(Eintrag)", "")
Dim min as Object = dt1.Compute("MIN(Eintrag)", "") EALA FREYA FRESENA | |
Re: Datetimepicker MinDatum / MaxDatum | | | Autor: ERBRU | Datum: 20.03.18 18:58 |
| Danke effeff,
mittlerweile habe ich mich für den Kalender entschieden. Dient dem Anwender als "Zeitraum Auswahl"
Dim _Beginn As New DateTime(Kalender.SelectionStart.Year, _
Kalender.SelectionStart.Month, Kalender.SelectionStart.Day, 0, 0, 0, 0)
Dim _Ende As New DateTime(Kalender.SelectionEnd.Year, _
Kalender.SelectionEnd.Month, Kalender.SelectionEnd.Day, 23, 59, 59, 900) und so pack ich es dann in einen Filter String
funktioniert auch: _Detail_filter = String.Format("[{0}] >= '{1}' AND [{0}] <= '{2}'", _
"Eintrag", _Beginn, _Ende)
BindingSource.Filter = _Detail_filter
Beitrag wurde zuletzt am 20.03.18 um 19:01:26 editiert. | |
| 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 |
|
|
Neu! sevCommand 4.0
Professionelle Schaltflächen im modernen Design!
Mit nur wenigen Mausklicks statten auch Sie Ihre Anwendungen ab sofort mit grafischen Schaltflächen im modernen Look & Feel aus (WinXP, Office, Vista oder auch Windows 8), inkl. große Symbolbibliothek. Weitere InfosTipp des Monats TOP Entwickler-Paket
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR...
Jetzt nur 599,00 EURWeitere Infos
|
|
|
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
|
|