自分では説明できない現象に出くわし、なぜそれが起こっているのか興味があります。誰かが私に理由とこの現象を取り除く方法を説明してくれることを願っています:
アプリケーション用にいくつかのページを作成してから、検索ページを作成しました。ここまでは順調ですね。コンボボックス自体をクリックしようとすると、正常に開きましたが、マウスボタンを離すとすぐに再び閉じました。マウスをコンボボックス領域の外に移動してから離した場合を除きます。私がそこで見た唯一の異常なことは、フォーカスがコンボボックスの前の最後のテキストフィールドに自動的にリセットされたことです。
コンボボックス自体は通常のhtmlコンボボックスでしたが、テキストボックス自体はHtml.TextBox( "search")で作成されました。また、JavaScriptで何かを見落としたが変更されなかった場合に備えて、名前を変更しようとしました。
次に、次のことを試しました。
@Html.TextBox("search")
Kategorie @Html.DevExpress().ComboBox(
settings => {
settings.Name = "PrductCategory";
settings.ControlStyle.CssClass = "select";
settings.Width = 300;
settings.SelectedIndex = 0;
settings.Properties.DropDownStyle = DevExpress.Web.ASPxEditors.DropDownStyle.DropDown;
settings.Properties.IncrementalFilteringMode = DevExpress.Web.ASPxEditors.IncrementalFilteringMode.Contains;
settings.Properties.TextField = "Name";
settings.Properties.DisplayFormatInEditMode = false;
settings.Properties.Native = false;
settings.Properties.TextFormatString = "{0}";
settings.Properties.DisplayFormatString = "{0}";
settings.Properties.ValueField = "Id";
settings.Properties.ValueType = typeof(int);
}
).BindList(Categories).GetHtml()
これは、ずっとあるはずのように動作しました(コンボボックスはひどくフォーマットされていましたが、「通常のhtml」コンボボックスのようにフォーマットする方法がわからなかったので、ネイティブモードを試してみることにしましたが、以下で詳しく説明します)。ネイティブモードをtrueに設定すると、同じ現象が再び発生しました(falseを指定すると、正常に動作しました)。チュートリアルとドキュメントを数時間調べた後、私はまだ完全に途方に暮れています(特に、使用されているsetfocusコマンドが見つからなかったため)。
だから私の質問は:なぜそれが起こる可能性があるのか、そしてこの現象が起こらないようにする方法について誰かが何か手がかりを持っていますか?
Tnx
備考:
ネイティブモードで、タブを介してコンボボックスに切り替えると、通常どおり(矢印キーを使用して)リストを確認できますが、コンボボックスが再び自動的に閉じてフォーカスがテキストボックスにリセットされるため、コンボボックスを開くことができません( 「検索」)他のすべての場合と同様(native = falseを除く)。
ネイティブモードがfalseに設定されていて、コンボボックスをクリックすると、フォーカスが失われます(そして、コンボボックス[およびそのテキストフィールド]の前のテキストフィールドに1秒未満設定され、コンボボックスが閉じていないときにコンボボックスに設定されます)。