| |
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 |
|
|
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! 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 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
|
|