Показать выбранный элемент в списке (System.Web.UI.WebControls) - PullRequest
0 голосов
/ 03 февраля 2010

Я работаю со списком, в котором, скажем, 20 элементов. Размер списка позволяет пользователю увидеть первые 5 элементов. Однако в списке есть один предварительно выбранный элемент, который иногда не отображается, поскольку он не входит в число первых 5 элементов.

После того, как я установил выбранный элемент для списка, как я могу гарантировать, что список будет прокручиваться надлежащим образом, чтобы выбранный элемент был виден пользователю?

Спасибо за вашу помощь!

1 Ответ

0 голосов
/ 03 февраля 2010

Вы пытались установить свойство 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...