I have tried CSS: overflow: auto. It doesn't work. Any way to achieve it?
Do I need to create my custom control as I have seen it on ASP.NET forum?
这应该工作:
listBox1.Rows = listBox1.Items.Count;
它导致所有项目都可见是 SELECT html 标记。如果需要,您可以将其放置到您自己的 div 集溢出并制作您自己的滚动条。
我会像你提到的那样创建一个自定义控件。
你期望的目标是什么?创建自己的滚动条以放入列表框中?
这对我有用
listBox1.DataSource = ....
listBox1.DataBind();
listBox1.Rows = listBox1.Items.Count + 1;
.
<div Class="divBorderCSS">
<asp:listbox id="lbPCList" runat="server" DataTextField="Text" DataValueField="Value" selectionmode="Multiple" CssClass="lbCSS">
</asp:listbox>
.
.listboxCSS
{
font-size: 8pt;
font-family: Arial;
border:0;
overflow:auto;
}
.divBorderCSS
{
border-left-width:thin;
border-right-width: thin;
border-top:thin;
border-bottom: thin;
border-color: #7F9DB9;
border-style:solid;
overflow:auto;
width: 300px;
height: 100px;
POSITION: relative;
}
试试 AJAX 控件工具包中的这个控件。
http://www.asp.net/AJAX/AjaxControlToolkit/Samples/DropDown/DropDown.aspx
使用jQuery
:
<asp:ListBox
ClientSideEvents-Init="function(s,e){$(s.GetMainElement()).find('div:first').css('overflow','hidden');}"
... />