別のリスト ボックスから項目を移行することによって入力されるリスト ボックスがあります。リストボックスを上下にスクロールするための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);
}
}
よろしく
アヌラグ