2011-02-04 16 views
2

何とかASP.NETのドロップダウンリストコントロールを変更してアイテムリストに自動幅を持たせる必要があります。ドロップダウンリストコントロール自体は固定幅を持ち、変更することはできません。ASP.NETドロップダウンリストitemslist幅の問題

私は無駄にすでにいくつかの方法を試してみましたが、皆さんの中には、カスタムのドロップダウンコントロールを構築することにより、この問題を解決することを決定したhttp://forums.asp.net/t/1648469.aspx

見るが、これは本当に私の場合はオプションではありません。

回答する前に、上記のリンクのスレッドを確認して、私はすでにそれを通過していないことを確認してください。

答えて

0

標準的なDDLコントロールで説明したとおりの動作を得る方法はありません。最善の策は、真下にリストボックスを隠して空のDDLをページに置くことです。 JavaScriptを使用すると、リストボックスが表示され、オンリックで消えます。あなたは選択を取得し、DDLの幅は変更されませんが、リストボックスの幅は動的になります。

TelerikやComponentOneのようなサードパーティ製のコントロールセットを使用することをお勧めします。この機能は既にコントロールセットに組み込まれています。上記の提案は、組み込みのコントロールを使用する必要があることを前提としています。

+0

感謝を!はい、標準のDDLコントロールを簡単に調整できない限り、TelerikやComponentOneなどのサードパーティコンポーネントを取得するのが最善の選択肢のようです。あなたのご意見ありがとうございます! – Peter

0

私は多くの人があなたの質問をしており、皆さんが持っているのと同じ回答を受けていることがわかりました。彼らはまもなくまもなく寒いハードな真実を受け入れました。

IEでは、ドロップダウンリストのオプション(ドロップリスト)セクションは、より良い用語がないため、選択部分(ドロップボックス)と同じサイズです。コントロール全体(as this post details)のサイズを変更するか、カスタムHTMLコントロールを作成する必要があります。私が間違っている(同じ解決策を提供している他の多くの人たちとともに)事件でそれを認めたのは間違いないが、私は間違いないと思う。

カスタムコントロールは非常に困難ではありません。私の頭の上、おそらくセレクタdiv、隠れたol、mouseover/mouseoutイベントハンドラ、およびASP.NETリピータを使ってリストアイテムを設定します。私はあなたがそれを行うことができる多くの方法があるので、このカスタムコントロールを実装する詳細には進まないでしょう。ジョシュが述べているように、TelerikとComponentOneはすでにそのような制御を実装していますが、もちろん価格で実現します。あなたが望むなら、私はあなたのためにいくつかのコードを一緒にハックしようと思うでしょう。

+0

あなたの答えをありがとう!ええ、ジョシュスの提案によると、第三者のコンポーネントが最も簡単なものですが、私はそれが私が必要とする動作を模倣することができれば、手作業による回避策を提供したいと思います。 – Peter

0

これは、スタイリングの変更を加えることができ、それが完璧に動作しますが、スタイルのタグを含めると、私はそれらを逃した場所に選択し、それを解決する必要があります:あなたの答えのための

<style> 
.ctrDropDown{ 
    width:205px; 
    font-size:11px; 
} 
.ctrDropDownClick{ 
    font-size:11px; 
    width:250px; 

} 
.plainDropDown{ 
    width:205px; 
    font-size:11px; 
} 
</style> 
<div style= "width:205px; overflow:hidden;"> 
select id="Dropdownlist" class="ctrDropDown" onblur="this.className='ctrDropDown';" onmousedown="this.className='ctrDropDownClick';" onchange="this.className='ctrDropDown';" > 
+0

これにもjavascriptの解決策がありますが、もし私がそれを必要としたら、私はlnkを送ることができます – Sunny

+0

このソリューションはIE11とおそらくすべての新しいバージョンでは動作しないと言って申し訳ありません。すべての選択可能な項目が表示されるDDLオプション部分は、リスト内の最も広い項目と同じ幅になります。私はこれを1年以上にわたって戦ってきており、カスタムコードコントロール以外の解決策を見つけました。 – htm11h

関連する問題