0

この質問はすでに数回SOにあることは知っていますが、有効な回答または適切な回答が見つかりません。

タイム ピッカーを含む日付ピッカーが必要です。派手なフリルなどは必要ありません。機能するものだけです。できれば、 のツール ボックスに 1 つのコントロールをドラッグしVS、上部に登録して操作できるようにします。ここ数日、多くのバージョンで遊んでいますが、1 つを動作させることができません。通常、私にはあまりにも多くのファイルが含まれているか、何かばかげているようです。私が現在取り組んでいるプロジェクトは、この愚かなことにかかっているので、どんなアドバイスも歓迎します. 私は以前、カレンダー コントロールを取得し、テキスト ボックスにいくつかの検証を行って時間を選択することができました。ただし、これらの値の両方を取得して、日時フィールドのようにデータベースに入力することはできません。これは、「選択日」を使用して時間を取得しようとすると、テキストボックスが「選択日」日付」プロパティ。

日付を選択するためのカレンダー コントロールと、時刻を入力するための検証済みのテキスト ボックスがあるので、次のコードを使用しようとしました。

Protected Sub Button1_Click(sender As Object, e As EventArgs)
    Dim time As String() = txtTime.SelectedDate.ToString().Trim().Split(" "C)
    Dim [date] As String() = cldDate.SelectedDate.ToString().Trim().Split(" "C)
    Dim datetime__1 As String = [date](0) & " " & time(1) & time(2)
    Dim DateTimeValue As DateTime = DateTime.Parse(datetime__1)
    Response.Write(DateTimeValue.ToString())
    ' Update database with DateTimeValue.  
End Sub

ここでコードtxtTime.SelectedDate.ToString()が問題になります。それはSelectedDateテキストボックスのサポートされているメンバーではないと言っています。これは私が遭遇したコードです。私はコーディングにかなり慣れていません。

4

3 に答える 3

2

DateTime 構造体の新しいインスタンスを作成できます。DateTimePicker.SelectedValue は Nullable(Of DateTime) を返すため、この値を使用して新しい DateTime を作成できます (テキスト ボックスの値と共に)。

例えば:

Dim myDateTime As New DateTime(cldDate.SelectedDate.Year, cldDate.SelectedDate.Month, cldDate.SelectedDate.Day, HourValue, MinuteValue, 0)

HourValueandMinuteValueをテキストボックスの値に置き換えるだけです。これらを整数に変換する必要があることに注意してください。

最後の 0 は秒を表すことに注意してください。

これにより、データベースに問題なく保存されます。

DateTime の詳細については、こちらを参照してください。

于 2013-04-22T19:50:02.887 に答える
0

商用製品が選択肢になるかどうかについては言及していません。

私たちのプロジェクトではtelerikの RadDateTimePicker を使用しています (もちろん、他にも商用製品があります)。日時ピッカー コントロールのデモについては、このページを参照してください。

于 2013-04-22T20:03:16.493 に答える