2010-02-03 83 views
0

我正在處理一個列表框,比方說有20個項目。列表框的大小允許用戶查看前5個項目。但是,列表框有一個預選項,有時不可見,因爲它不是前5項中的一項。在列表框中顯示選定的項目(System.Web.UI.WebControls)

在爲列表框設置選定的項目後,如何確保lisbox正確滾動以便所選項目對用戶可見?

感謝您的幫助!

+0

對不起,錯誤的信息。我在webui列表框中看不到任何有用的東西。 :( – 2010-02-03 20:51:49

回答

0

您是否嘗試過設置TopIndex屬性?

listBox.TopIndex = itemIndex; 

對不起,我對你的問題的第一個理解是完全錯誤的。我認爲你可以通過使用javascript來完成。我在Windows 7和IE8上測試了下面的示例,它工作正常。

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
    <script type="text/javascript"> 
     function setSelectedIndex() { 
      var listBox = $get('listBox'); 
      var textBox = $get('textBox'); 

      listBox.selectedIndex = textBox.value; 
     } 
    </script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <asp:ScriptManager ID="ScriptManager1" runat="server"> 
     </asp:ScriptManager> 
     <asp:ListBox runat="server" ID="listBox"> 
      <asp:ListItem Text="A" Value="A" /> 
      <asp:ListItem Text="B" Value="B" /> 
      <asp:ListItem Text="C" Value="C" /> 
      <asp:ListItem Text="D" Value="D" /> 
      <asp:ListItem Text="E" Value="E" /> 
      <asp:ListItem Text="F" Value="F" /> 
      <asp:ListItem Text="G" Value="G" /> 
      <asp:ListItem Text="H" Value="H" /> 
      <asp:ListItem Text="I" Value="I" /> 
      <asp:ListItem Text="K" Value="K" /> 
     </asp:ListBox> 
     <asp:TextBox runat="server" ID="textBox" Text="8" /> 
     <asp:Button runat="server" ID="button" Text="Select" OnClientClick="setSelectedIndex(); return false;" /> 
    </div> 
    </form> 
</body> 
</html> 
+0

感謝您的答案,但它不是System.Web.UI.WebControls.Listbox的成員。 http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.listbox_members的.aspx – mga911 2010-02-03 20:36:06