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

時刻コントロールは時刻のみの入力に特化したコントロールです。入力時と表示時それぞれにおいて時刻の書式を設定できます。

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

ソースコード

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

public partial class Format_GcTime : 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)
    {
        // 書式を設定します。
        GcTime1.Format.Pattern = GcComboBox1.Text;
        GcTime1.DisplayFormat.Pattern = GcComboBox2.Text;
        // 午前、午後を表す文字を設定します。
        GcTime1.AMDesignator = GcTextBox2.Text;
        GcTime1.PMDesignator = GcTextBox3.Text;
        // カレットの位置を設定します。
        GcTime1.CursorPosition = (GrapeCity.Web.Input.IMDate.DateCursorPosition)int.Parse(GcComboBox3.SelectedItem.SubItems[2].Value);
        // 改行コードの扱いを設定します。
        GcTime1.AcceptsCrLf = (GrapeCity.Web.Input.Core.CrLfMode)GcComboBox4.SelectedIndex;
        // プロンプト文字を設定します。
        GcTime1.PromptChar = Convert.ToChar(GcTextBox1.Text);
    }
}

Partial Class Format_GcTime
    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
        ' 書式を設定します。
        GcTime1.Format.Pattern = GcComboBox1.Text
        GcTime1.DisplayFormat.Pattern = GcComboBox2.Text
        ' 午前、午後を表す文字を設定します。
        GcTime1.AMDesignator = GcTextBox2.Text
        GcTime1.PMDesignator = GcTextBox3.Text
        ' キャレットの位置を設定します。
        GcTime1.CursorPosition = GcComboBox3.SelectedItem.SubItems(2).Value
        ' 改行コードの扱いを設定します。
        GcTime1.AcceptsCrLf = GcComboBox4.SelectedIndex
        ' プロンプト文字を設定します。
        GcTime1.PromptChar = GcTextBox1.Text
    End Sub
End Class

<%@ page title="" language="C#" masterpagefile="~/MasterPage.master" autoeventwireup="true" inherits="Format_GcTime, 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("<% =GcTime1.ClientID %>").SetFormatPattern(sender.GetText());
        }
        // 表示書式を設定します。
        function GcComboBox2_TextChanged(sender, eArgs) {
            if (!document.getElementById("isClient").checked) return;
            FindIMControl("<% =GcTime1.ClientID %>").SetDisplayFormatPattern(sender.GetText());
		}
		// キャレット位置を設定します。
        function GcComboBox3_SelectedIndexChanged(sender, eArgs) {
            if (!document.getElementById("isClient").checked) return;
		    FindIMControl("<% =GcTime1.ClientID %>").SetCursorPosition(sender.GetSelectedItem().SubItems[1].GetValue());
		}
		// 改行コードの扱いを設定します。
        function GcComboBox4_SelectedIndexChanged(sender, eArgs) {
            if (!document.getElementById("isClient").checked) return;
		    FindIMControl("<% =GcTime1.ClientID %>").SetAcceptsCrLf(sender.GetSelectedItem().SubItems[1].GetValue());
		}
		// プロンプト文字を設定します。
        function GcTextBox1_TextChanged(sender, eArgs) {
            if (!document.getElementById("isClient").checked) return;
		    FindIMControl("<% =GcTime1.ClientID %>").SetPromptChar(sender.GetText());
		}
        // 「午前」を表す文字を設定します。
        function GcTextBox2_TextChanged(sender, eArgs) {
            if (!document.getElementById("isClient").checked) return;
            FindIMControl("<% =GcTime1.ClientID %>").SetAMDesignator(sender.GetText());
        }
        // 「午後」を表す文字を設定します。
        function GcTextBox3_TextChanged(sender, eArgs) {
            if (!document.getElementById("isClient").checked) return;
            FindIMControl("<% =GcTime1.ClientID %>").SetPMDesignator(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:GcTime ID="GcTime1" runat="server" HasLoadFromXml="True" Width="300px">
                </im_date:GcTime>
                </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="HH:mm:ss"></subitem>
                    <subitem index="0" value="時刻(13:30:01)"></subitem>
                    <comboitem></comboitem>
                    <subitem index="1" value="HH:mm"></subitem>
                    <subitem index="1" value="時刻(13:30)"></subitem>
                    <comboitem></comboitem>
                    <subitem index="2" value="HH時mm分ss秒"></subitem>
                    <subitem index="2" value="時刻(13時30分01秒)"></subitem>
                    <comboitem></comboitem>
                    <subitem index="3" value="tt hh時mm分ss秒"></subitem>
                    <subitem index="3" 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="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="H:m:s"></subitem>
                    <subitem index="0" value="時刻(13:30:1)"></subitem>
                    <comboitem></comboitem>
                    <subitem index="1" value="H:m"></subitem>
                    <subitem index="1" value="時刻(13:30)"></subitem>
                    <comboitem></comboitem>
                    <subitem index="2" value="H時m分s秒"></subitem>
                    <subitem index="2" value="時刻(13時30分1秒)"></subitem>
                    <comboitem></comboitem>
                    <subitem index="3" value="tt h時m分s秒"></subitem>
                    <subitem index="3" value="時刻(午後 1時30分1秒)"></subitem>
                    <helpvalue ></helpvalue>
                </im_combo:GcComboBox>
            </td>
        </tr>
        <tr>
            <th class="inputTh">「午前」を表す文字</th>
            <td class="inputTd">
                <im_edit:GcTextBox ID="GcTextBox2" runat="server" HasLoadFromXml="True" 
                    Text="午前" Width="80px"><clientevents textchanged="GcTextBox2_TextChanged"></clientevents></im_edit:GcTextBox>
            </td>
        </tr>
        <tr>
            <th class="inputTh">「午後」を表す文字</th>
            <td class="inputTd">
                <im_edit:GcTextBox ID="GcTextBox3" runat="server" HasLoadFromXml="True" 
                    Text="午後" Width="80px"><clientevents textchanged="GcTextBox3_TextChanged"></clientevents></im_edit:GcTextBox>
            </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>
                    <subitem index="0" value="0"></subitem>
                    <comboitem></comboitem>
                    <subitem index="1" value="午前または午後を表す文字"></subitem>
                    <subitem index="1" value="ampm"></subitem>
                    <subitem index="1" value="5"></subitem>
                    <comboitem></comboitem>
                    <subitem index="2" value="時フィールド"></subitem>
                    <subitem index="2" value="hour"></subitem>
                    <subitem index="2" value="6"></subitem>
                    <comboitem></comboitem>
                    <subitem index="3" value="分フィールド"></subitem>
                    <subitem index="3" value="minute"></subitem>
                    <subitem index="3" value="7"></subitem>
                    <comboitem></comboitem>
                    <subitem index="4" value="秒フィールド"></subitem>
                    <subitem index="4" value="second"></subitem>
                    <subitem index="4" value="8"></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 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>


このページの先頭へ戻る