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

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

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

ソースコード

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

public partial class Format_GcDate : 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)
    {
        // 書式を設定します。
        GcDate1.Format.Pattern = GcComboBox1.Text;
        GcDate1.DisplayFormat.Pattern = GcComboBox2.Text;
        // カレットの位置を設定します。
        GcDate1.CursorPosition = (GrapeCity.Web.Input.IMDate.DateCursorPosition)GcComboBox3.SelectedIndex;
        // 改行コードの扱いを設定します。
        GcDate1.AcceptsCrLf = (GrapeCity.Web.Input.Core.CrLfMode)GcComboBox4.SelectedIndex;
        // プロンプト文字を設定します。
        GcDate1.PromptChar = Convert.ToChar(GcTextBox1.Text);
    }
}

Partial Class Format_GcDate
    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
        ' 書式を設定します。
        GcDate1.Format.Pattern = GcComboBox1.Text
        GcDate1.DisplayFormat.Pattern = GcComboBox2.Text
        ' カレットの位置を設定します。
        GcDate1.CursorPosition = GcComboBox3.SelectedIndex
        ' 改行コードの扱いを設定します。
        GcDate1.AcceptsCrLf = GcComboBox4.SelectedIndex
        ' プロンプト文字を設定します。
        GcDate1.PromptChar = GcTextBox1.Text
    End Sub
End Class

<%@ page title="" language="C#" masterpagefile="~/MasterPage.master" autoeventwireup="true" inherits="Format_GcDate, App_Web_fdb404xk" theme="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("<% =GcDate1.ClientID %>").SetFormatPattern(sender.GetText());
        }
        // 表示書式を設定します。
        function GcComboBox2_TextChanged(sender, eArgs) {
            if (!document.getElementById("isClient").checked) return;
            FindIMControl("<% =GcDate1.ClientID %>").SetDisplayFormatPattern(sender.GetText());
        }
        // キャレット位置を設定します。
        function GcComboBox3_SelectedIndexChanged(sender, eArgs) {
            if (!document.getElementById("isClient").checked) return;
            FindIMControl("<% =GcDate1.ClientID %>").SetCursorPosition(sender.GetSelectedItem().SubItems[1].GetValue());
        }
        // 改行コードの扱いを設定します。
        function GcComboBox4_SelectedIndexChanged(sender, eArgs) {
            if (!document.getElementById("isClient").checked) return;
            FindIMControl("<% =GcDate1.ClientID %>").SetAcceptsCrLf(sender.GetSelectedItem().SubItems[1].GetValue());
        }
        // プロンプト文字を設定します。
        function GcTextBox1_TextChanged(sender, eArgs) {
            if (!document.getElementById("isClient").checked) return;
            FindIMControl("<% =GcDate1.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:GcDate ID="GcDate1" runat="server" HasLoadFromXml="True" Width="300px">
                </im_date:GcDate>
                </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="200px" 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"></subitem>
                    <subitem index="0" value="日付(2015/01/01)"></subitem>
                    <comboitem></comboitem>
                    <subitem index="1" value="yyyy年MM月dd日"></subitem>
                    <subitem index="1" value="日付(2015年01月01日)"></subitem>
                    <comboitem></comboitem>
                    <subitem index="2" value="yy年MM月dd日"></subitem>
                    <subitem index="2" value="日付(15年01月01日)"></subitem>
                    <comboitem></comboitem>
                    <subitem index="3" value="gggee年MM月dd日"></subitem>
                    <subitem index="3" value="日付(平成27年01月01日)"></subitem>
                    <comboitem></comboitem>
                    <subitem index="4" value="gg ee年MM月dd日"></subitem>
                    <subitem index="4" value="日付(平 27年01月01日)"></subitem>
                    <comboitem></comboitem>
                    <subitem index="5" value="g. ee/MM/dd"></subitem>
                    <subitem index="5" value="日付(H. 27/01/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="200px" 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"></subitem>
                    <subitem index="0" value="日付(2015/1/1)"></subitem>
                    <comboitem></comboitem>
                    <subitem index="1" value="yyy年M月d日"></subitem>
                    <subitem index="1" value="日付(2015年1月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="日付(平成元年1月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>
                    <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="200px" 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>
                    <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="200px"><clientevents selectedindexchanged="GcComboBox4_SelectedIndexChanged"></clientevents>
                    <ListBox OverflowTip="True" 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>


このページの先頭へ戻る