日付コントロールのスピンボタンのクリックでフォーカスを取得すると、CursorPositionプロパティの設定が無効になる場合がある

文書番号 : 23922     文書種別 : 不具合     最終更新日 : 2007/06/06
文書を印刷する
対象製品
InputMan for .NET 1.0J Web Forms Edition
発生環境
動作環境と同じ
状況
修正済み
詳細
InputMan for .NET Webのコントロールにフォーカスがある状態で、日付コントロールのスピンアップまたはスピンダウンボタンをクリックします。
CursorPositionプロパティをMonthやDayに設定していても、最初のスピンアップ/ダウン時はカーソル位置が先頭になってしまいます。

※標準コントロールからフォーカスを移動した場合はこの現象は発生しません。
※テキストエリアをクリックするなど、一度フォーカスを取得した後はこの現象は発生しません。
回避方法
この問題は改定第5版(v1.0.2007.720)で修正されました。
不具合に対応した最新修正版は、アップデートページからダウンロードできます。
改定第5版より前のバージョンでは次の方法で回避可能です。

aspxファイルの</form>と</body>の間に次の回避コードを追加します。

【回避コード】
<script language = "javascript">
DateControl.prototype.SpinBtnMouseDown = function(mouseButton, type) {
if (!Utility.IsOnFocus || Utility.CurrentActiveControlId != this.ID)
{
  var ret = this.UIProcess.SetCursorPositionAndSelection(this.HighlightText, this.GetText(), this.CursorPosition, this.SelectionStart);
  if (ret != null)
  {
    this.SelectionStart = ret.SelectionStart;
    this.SelectionEnd  = ret.SelectionEnd;
  }
}
BaseInputControl.prototype.SpinBtnMouseDown.call(this, mouseButton, type); }
</script>
キーワード
INME06212

この文書は、以前は次のバグレポートIDで公開されていました : 6976