0

別のリスト ボックスから項目を移行することによって入力されるリスト ボックスがあります。リストボックスを上下にスクロールするための2つのasp.netボタン、つまり上と下があります。リスト ボックスで一度に表示できる項目の最大数は 9 ですが、項目の最大数は 21 です。したがって、最終的にスクロール バーが表示されます。そのかなり明白で大丈夫です。21 番目のアイテムを選択して [上へ] ボタンをクリックすると、21 番目のアイテムは 1 つ上の場所に移動しますが、リストには最初からアイテムが表示されます。つまり、リストが再配置され、クライアントは上に移動した 21 番目の項目を表示するためにリスト ボックスを明示的に下にスクロールする必要があります。

項目を選択して [上へ] ボタンをクリックすると、リスト ボックス自体が表示され、最初の項目からリスト ボックスが表示されないようにする必要があります。

どんな助けでも大歓迎です。

以下は私のコードです:

    protected void btnThird_Click(object sender, EventArgs e)
    {

        if (lstBoxSelectedColumns.SelectedIndex == 0)
        {
            Page.ClientScript.RegisterStartupScript(this.GetType(), "alertScrollUp", "alertMessage('Please select other item to scroll up or click the Down navigation button');", true);

        }
        else if (lstBoxSelectedColumns.SelectedIndex > 0)
        {
            for (int i = 0; i < lstBoxSelectedColumns.Items.Count; i++)
            {
                if (lstBoxSelectedColumns.Items[i].Selected)
                {
                    if (i > 0 && !lstBoxSelectedColumns.Items[i - 1].Selected)
                    {
                        ListItem belowItem = lstBoxSelectedColumns.Items[i];
                        lstBoxSelectedColumns.Items.Remove(belowItem);
                        lstBoxSelectedColumns.Items.Insert(i-1, belowItem);
                        lstBoxSelectedColumns.Items[i - 1].Selected = true;
                    }
                }
            }
        }
        else
        {
            Page.ClientScript.RegisterStartupScript(this.GetType(), "alertSelectAtleastOneItem2", "alertMessage('Please select at least one item to scroll above');", true);
        }
    }

よろしく

アヌラグ

4

0 に答える 0