郵便番号コントロールの機能は、「JPAddress for .NET(以下、JPAddress)」を利用して実現されており、検索機能を利用するためにはJPAddress のインストールおよび開発ライセンスが必要です。また、検索機能を使用するためには、JPAddress のGcJPAddress コンポーネントをページに配置する必要があります。
詳細については「JPAddress for .NETとの連携」を参照してください。
住所コントロールの入力フィールドには次の9つのフィールドが設定されており、これらのフィールドオブジェクトを使って書式が設定されています。
 |
住所コントロールでは、これらのフィールドを追加したり削除したりすることはできません。区切りフィールドを非表示にしたい場合には、各フィールドのText プロパティを削除します。 |
AutoFilter プロパティをTrueに設定すると、住所コントロールのすべてのフィールドで候補リストが入力した文字によりフィルタリングされます。なお、オートフィルタ機能を動作させるには、各フィールドのDropDownEnabled プロパティがTrue に設定され候補リストのドロップダウン表示が有効である必要があります。
以下のサンプルコードは、オートフィルタ機能を有効にします。
GcAddressBox1.AutoFilter = True
gcAddressBox1.AutoFilter = true;
住所コントロールのオートフィルタ機能は、ひらがなを入力した時点でフィルタリングが開始します。
例えば、「み」と入力すると文字の変換や確定を行う前に、下記のように「み」で始まる「宮城県」「三重県」「宮崎県」が候補リストに表示されます。この状態で上下矢印キーによりリストから選択でき、Enterキーを押下すると県名を入力することができます。
- 「み」と入力すると、フィルタリングされた県名が表示されます。
- 下矢印キーを押下します。
- Enterキーを押下します。
このほか、「みやぎ」と続けて文字を入力し候補リストから選択することも可能です。下図のように候補リストが一つしかない場合、漢字変換を行わなくてもEnterキーの押下により項目を選択できます。
 |
- Windows 7以前のOSでは、文字の変換を行いIMEの変換リストが表示されているとき、オートフィルタリストは非表示となります。
- Windows 8以降のOSでは、文字の変換を行いIMEの変換リストが表示されているとき、IMEの変換リストの下にオートフィルタリストが表示されます。
|
住所コントロールでは選択可能な都道府県を設定できます。PrefectureFilter プロパティでどの県を対象として検索を行うかどうかを設定できます。
以下は住所コントロールで関東地方の県のみの検索と入力を行う場合のサンプルコードです。
' 関東地方のみを検索対象として入力を許可します。
GcAddressBox1.PrefectureFilter = "茨城県,栃木県,群馬県,埼玉県,千葉県,東京都,神奈川県"
// 関東地方のみを検索対象として入力を許可します。
gcAddressBox1.PrefectureFilter = "茨城県,栃木県,群馬県,埼玉県,千葉県,東京都,神奈川県";

入力された住所と検索結果は以下のプロパティで取得します。
なお、入力された番地は、番地フィールドのText プロパティから取得します。
次のサンプルコードでは、住所コントロールの値と結果を出力します。
Private Sub GcAddressBox1_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GcAddressBox1.Leave
' 都道府県の取得
System.Diagnostics.Debug.WriteLine("GcAddressBox1.SelectedPrefecture:{0}", GcAddressBox1.SelectedPrefecture)
' 市区町村の取得
System.Diagnostics.Debug.WriteLine("GcAddressBox1.SelectedCity:{0}", GcAddressBox1.SelectedCity)
' 町域の取得
System.Diagnostics.Debug.WriteLine("GcAddressBox1.SelectedTown:{0}", GcAddressBox1.SelectedTown)
' 丁目の取得
System.Diagnostics.Debug.WriteLine("GcAddressBox1.SelectedArea:{0}", GcAddressBox1.SelectedArea)
' 番地の取得
System.Diagnostics.Debug.WriteLine("GcAddressBox1.Fields.BlockCode.Text:" + GcAddressBox1.Fields.BlockCode.Text)
' 全ての住所の取得
System.Diagnostics.Debug.WriteLine("GcAddressBox1.Value:" + GcAddressBox1.Value)
' 住所から検索した郵便番号の取得
System.Diagnostics.Debug.WriteLine("GcAddressBox1.ZipCode:" + GcAddressBox1.ZipCode)
End Sub
private void gcAddressBox1_Leave(object sender, EventArgs e)
{
// 都道府県の取得
System.Diagnostics.Debug.WriteLine("gcAddressBox1.SelectedPrefecture:{0}", gcAddressBox1.SelectedPrefecture);
// 市区町村の取得
System.Diagnostics.Debug.WriteLine("gcAddressBox1.SelectedCity:{0}", gcAddressBox1.SelectedCity);
// 町域の取得
System.Diagnostics.Debug.WriteLine("gcAddressBox1.SelectedTown:{0}", gcAddressBox1.SelectedTown);
// 丁目の取得
System.Diagnostics.Debug.WriteLine("gcAddressBox1.SelectedArea:{0}", gcAddressBox1.SelectedArea);
// 番地の取得
System.Diagnostics.Debug.WriteLine("gcAddressBox1.Fields.BlockCode.Text:" + gcAddressBox1.Fields.BlockCode.Text);
// 全ての住所の取得
System.Diagnostics.Debug.WriteLine("gcAddressBox1.Value:" + gcAddressBox1.Value);
// 住所から検索した郵便番号の取得
System.Diagnostics.Debug.WriteLine("gcAddressBox1.ZipCode:" + gcAddressBox1.ZipCode);
}
【出力結果例】
gcAddressBox1.SelectedPrefecture:01,北海道,ホッカイドウ
gcAddressBox1.SelectedCity:01101,札幌市中央区,サッポロシチュウオウク
gcAddressBox1.SelectedTown:大通西,オオドオリニシ
gcAddressBox1.SelectedArea:0600042,1丁目,1チョウメ
gcAddressBox1.Fields.BlockCode.Text:2-3
gcAddressBox1.Value:北海道札幌市中央区大通西1丁目2-3
gcAddressBox1.ZipCode:0600042