書式による入力制限 - 日付時刻コントロール -

日付時刻コントロールは西暦・和暦の両方に対応しており、入力時と表示時それぞれにおいて日付や時間の書式を設定できます。

入力確認
入力書式
表示書式
キャレット位置
改行コードの扱い
プロンプト文字

ソースコード

別ウィンドウで表示
using System;

public partial class Format_GcDateTime : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            // 初期値を設定します。
            GcComboBox1.SelectedIndex = 0;
            GcComboBox2.SelectedIndex = 0;
            GcComboBox3.SelectedIndex = 0;
            GcComboBox4.SelectedIndex = 0;
        }
    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        // 書式を設定します。
        GcDateTime1.Format.Pattern = GcComboBox1.Text;
        GcDateTime1.DisplayFormat.Pattern = GcComboBox2.Text;
        // カレットの位置を設定します。
        GcDateTime1.CursorPosition = (GrapeCity.Web.Input.IMDate.DateCursorPosition)GcComboBox3.SelectedIndex;
        // 改行コードの扱いを設定します。
        GcDateTime1.AcceptsCrLf = (GrapeCity.Web.Input.Core.CrLfMode)GcComboBox4.SelectedIndex;
        // プロンプト文字を設定します。
        GcDateTime1.PromptChar = Convert.ToChar(GcTextBox1.Text);
    }
}

Partial Class Format_GcDateTime
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
        If Not IsPostBack Then
            ' 初期値を設定します。
            GcComboBox1.SelectedIndex = 0
            GcComboBox2.SelectedIndex = 0
            GcComboBox3.SelectedIndex = 0
            GcComboBox4.SelectedIndex = 0
        End If
    End Sub

    Protected Sub Button1_Click(sender As Object, e As System.EventArgs) Handles Button1.Click
        ' 書式を設定します。
        GcDateTime1.Format.Pattern = GcComboBox1.Text
        GcDateTime1.DisplayFormat.Pattern = GcComboBox2.Text
        ' カレットの位置を設定します。
        GcDateTime1.CursorPosition = GcComboBox3.SelectedIndex
        ' 改行コードの扱いを設定します。
        GcDateTime1.AcceptsCrLf = GcComboBox4.SelectedIndex
        ' プロンプト文字を設定します。
        GcDateTime1.PromptChar = GcTextBox1.Text
    End Sub
End Class

<%@ page title="" language="C#" masterpagefile="~/MasterPage.master" autoeventwireup="true" inherits="Format_GcDateTime, App_Web_fdb404xk" stylesheettheme="SkinFile" %>

<%@ Register assembly="GrapeCity.Web.Input.v100, Version=10.0.4006.2012, Culture=neutral, PublicKeyToken=c3bd7c1dccef5128" namespace="GrapeCity.Web.Input.IMDate" tagprefix="im_date" %>
<%@ Register assembly="GrapeCity.Web.Input.v100, Version=10.0.4006.2012, Culture=neutral, PublicKeyToken=c3bd7c1dccef5128" namespace="GrapeCity.Web.Input.IMCombo" tagprefix="im_combo" %>
<%@ Register assembly="GrapeCity.Web.Input.v100, Version=10.0.4006.2012, Culture=neutral, PublicKeyToken=c3bd7c1dccef5128" namespace="GrapeCity.Web.Input.IMEdit" tagprefix="im_edit" %>

<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
    
    <script type="text/javascript">

        // 入力書式を設定します。
        function GcComboBox1_TextChanged(sender, eArgs) {
            if (!document.getElementById("isClient").checked) return;
            FindIMControl("<% =GcDateTime1.ClientID %>").SetFormatPattern(sender.GetText());
        }
        // 表示書式を設定します。
        function GcComboBox2_TextChanged(sender, eArgs) {
            if (!document.getElementById("isClient").checked) return;
            FindIMControl("<% =GcDateTime1.ClientID %>").SetDisplayFormatPattern(sender.GetText());
        }
        // キャレット位置を設定します。
        function GcComboBox3_SelectedIndexChanged(sender, eArgs) {
            if (!document.getElementById("isClient").checked) return;
            FindIMControl("<% =GcDateTime1.ClientID %>").SetCursorPosition(sender.GetSelectedItem().SubItems[1].GetValue());
        }
        // 改行コードの扱いを設定します。
        function GcComboBox4_SelectedIndexChanged(sender, eArgs) {
            if (!document.getElementById("isClient").checked) return;
            FindIMControl("<% =GcDateTime1.ClientID %>").SetAcceptsCrLf(sender.GetSelectedItem().SubItems[1].GetValue());
        }
        // プロンプト文字を設定します。
        function GcTextBox1_TextChanged(sender, eArgs) {
            if (!document.getElementById("isClient").checked) return;
            FindIMControl("<% =GcDateTime1.ClientID %>").SetPromptChar(sender.GetText());
        }

    </script>
    
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
    <div class="sample">
        <table>
            <tr>
                <th>入力確認</th>
            </tr>
            <tr>
                <td><im_date:GcDateTime ID="GcDateTime1" runat="server" HasLoadFromXml="True" 
                    Width="300px"></im_date:GcDateTime></td>
            </tr>
        </table>
    </div>
    <label style="font-size:80%;"><input type="checkbox" id="isClient" checked="checked" /> クライアント側の設定を有効にする</label>
    <table class="inputTable">
        <tr>
            <th class="inputTh">入力書式</th>
            <td class="inputTd">
                <im_combo:GcComboBox ID="GcComboBox1" runat="server" HasLoadFromXml="True" 
                    Width="250px" ItemsChanged="False">
                    <clientevents textchanged="GcComboBox1_TextChanged"></clientevents>
                    <ListBox AutoWidth="True" />
                    <listheaderpane visible="True"></listheaderpane>
                    <defaultcolumn autowidth="True"></defaultcolumn>
                    <listcolumn header-text="書式"></listcolumn>
                    <listcolumn  header-text="説明"></listcolumn>
                    <comboitem></comboitem>
                    <subitem index="0" value="yyyy/MM/dd HH:mm:ss"></subitem>
                    <subitem index="0" value="日付と時刻(2015/01/01 13:30:01)"></subitem>
                    <comboitem></comboitem>
                    <subitem index="1" value="yyyy年MM月dd日 HH時mm分ss秒"></subitem>
                    <subitem index="1" value="日付と時刻(2015年01月01日 13時30分01秒)"></subitem>
                    <comboitem></comboitem>
                    <subitem index="2" value="yyyy/MM/dd"></subitem>
                    <subitem index="2" value="日付(2015/01/01)"></subitem>
                    <comboitem></comboitem>
                    <subitem index="3" value="yy年MM月dd日"></subitem>
                    <subitem index="3" value="日付(15年01月01日)"></subitem>
                    <comboitem></comboitem>
                    <subitem index="4" value="gggee年MM月dd日 HH時mm分ss秒"></subitem>
                    <subitem index="4" value="日付と時刻(平成27年01月01日 13時30分01秒)"></subitem>
                    <comboitem></comboitem>
                    <subitem index="5" value="gg ee年MM月dd日"></subitem>
                    <subitem index="5" value="日付(平 27年01月01日)"></subitem>
                    <comboitem></comboitem>
                    <subitem index="6" value="g. ee/MM/dd"></subitem>
                    <subitem index="6" value="日付(H. 27/01/01)"></subitem>
                    <comboitem></comboitem>
                    <subitem index="7" value="HH:mm:ss"></subitem>
                    <subitem index="7" value="時刻(13:30:01)"></subitem>
                    <comboitem></comboitem>
                    <subitem index="7" value="tt hh時mm分ss秒"></subitem>
                    <subitem index="7" value="時刻(午後 01時30分01秒)"></subitem>
                    <helpvalue ></helpvalue>
                </im_combo:GcComboBox>
            </td>
        </tr>
        <tr>
            <th class="inputTh">表示書式</th>
            <td class="inputTd">
                <im_combo:GcComboBox ID="GcComboBox2" runat="server" HasLoadFromXml="True" 
                    Width="250px" ItemsChanged="False">
                    <clientevents textchanged="GcComboBox2_TextChanged"></clientevents>
                    <ListBox AutoWidth="True" />
                    <listheaderpane visible="True"></listheaderpane>
                    <defaultcolumn autowidth="True"></defaultcolumn>
                    <listcolumn header-text="書式"></listcolumn>
                    <listcolumn  header-text="説明"></listcolumn>
                    <comboitem></comboitem>
                    <subitem index="0" value="yyy/M/d H:m:s"></subitem>
                    <subitem index="0" value="日付と時刻(2015/1/1 13:30:1)"></subitem>
                    <comboitem></comboitem>
                    <subitem index="1" value="yyy年M月d日 H時m分s秒"></subitem>
                    <subitem index="1" value="日付と時刻(2015年1月1日 13時30分1秒)"></subitem>
                    <comboitem></comboitem>
                    <subitem index="2" value="y/M/d"></subitem>
                    <subitem index="2" value="日付(15/1/1)"></subitem>
                    <comboitem></comboitem>
                    <subitem index="3" value="y年M月d日(ddd)"></subitem>
                    <subitem index="3" value="日付(15年1月1日(木))"></subitem>
                    <comboitem></comboitem>
                    <subitem index="4" value="gggE年M月d日 dddd"></subitem>
                    <subitem index="4" value="日付(平成元年12月1日 金曜日)"></subitem>
                    <comboitem></comboitem>
                    <subitem index="5" value="gg e年M月d日"></subitem>
                    <subitem index="5" value="日付(平 27年1月1日)"></subitem>
                    <comboitem></comboitem>
                    <subitem index="6" value="g. e/M/d"></subitem>
                    <subitem index="6" value="日付(H. 27/1/1)"></subitem>
                    <comboitem></comboitem>
                    <subitem index="7" value="H:m:s"></subitem>
                    <subitem index="7" value="時刻(13:30:1)"></subitem>
                    <comboitem></comboitem>
                    <subitem index="8" value="tt h時m分s秒"></subitem>
                    <subitem index="8" value="時刻(午後 1時30分1秒)"></subitem>
                    <helpvalue ></helpvalue>
                </im_combo:GcComboBox>
            </td>
        </tr>
        <tr>
            <th class="inputTh">キャレット位置</th>
            <td class="inputTd">
                <im_combo:GcComboBox ID="GcComboBox3" runat="server" HasLoadFromXml="True" 
                    Width="250px" DropDownStyle="DropDownList">
                    <clientevents selectedindexchanged="GcComboBox3_SelectedIndexChanged"></clientevents>
                    <comboitem></comboitem>
                    <subitem index="0" value="先頭のフィールド"></subitem>
                    <subitem index="0" value="default"></subitem>
                    <comboitem></comboitem>
                    <subitem index="1" value="年号フィールド"></subitem>
                    <subitem index="1" value="era"></subitem>
                    <comboitem></comboitem>
                    <subitem index="2" value="年フィールド"></subitem>
                    <subitem index="2" value="year"></subitem>
                    <comboitem></comboitem>
                    <subitem index="3" value="月フィールド"></subitem>
                    <subitem index="3" value="month"></subitem>
                    <comboitem></comboitem>
                    <subitem index="4" value="日フィールド"></subitem>
                    <subitem index="4" value="day"></subitem>
                    <comboitem></comboitem>
                    <subitem index="5" value="午前または午後を表す文字"></subitem>
                    <subitem index="5" value="ampm"></subitem>
                    <comboitem></comboitem>
                    <subitem index="6" value="時フィールド"></subitem>
                    <subitem index="6" value="hour"></subitem>
                    <comboitem></comboitem>
                    <subitem index="7" value="分フィールド"></subitem>
                    <subitem index="7" value="minute"></subitem>
                    <comboitem></comboitem>
                    <subitem index="8" value="秒フィールド"></subitem>
                    <subitem index="8" value="second"></subitem>
                    <helpvalue ></helpvalue>
                </im_combo:GcComboBox>
            </td>
        </tr>
        <tr>
            <th class="inputTh">改行コードの扱い</th>
            <td class="inputTd">
                <im_combo:GcComboBox ID="GcComboBox4" runat="server" HasLoadFromXml="True" 
                    DropDownStyle="DropDownList" Width="250px"><clientevents selectedindexchanged="GcComboBox4_SelectedIndexChanged"></clientevents>
                    <ListBox Width="220" />
                    <comboitem></comboitem>
                    <subitem index="0" value="そのまま使用"></subitem>
                    <subitem index="0" value="nocontrol"></subitem>
                    <comboitem></comboitem>
                    <subitem index="1" value="すべての改行コードを削除"></subitem>
                    <subitem index="1" value="filter"></subitem>
                    <comboitem></comboitem>
                    <subitem index="2" value="改行コード以降の文字列を切り取り"></subitem>
                    <subitem index="2" value="cut"></subitem>
                    <helpvalue ></helpvalue>
                </im_combo:GcComboBox>
            </td>
        </tr>
        <tr>
            <th class="inputTh">プロンプト文字</th>
            <td class="inputTd">
                <im_edit:GcTextBox ID="GcTextBox1" runat="server" HasLoadFromXml="True" 
                    MaxLength="1" Text="_" Width="80px"><clientevents textchanged="GcTextBox1_TextChanged"></clientevents></im_edit:GcTextBox>
            </td>
        </tr>
    </table>
    <center>
        <asp:Button ID="Button1" runat="server" CssClass="button_nowidth" Text="サーバー側で設定" 
            onclick="Button1_Click" />
    </center>
</asp:Content>


このページの先頭へ戻る