您的位置:首页 > 编程语言 > ASP

ASP.NET ListBox的使用与其上下移动方法

2015-04-03 11:29 417 查看
//前台

<table id="TableOne" runat="server" style="text-align: center; width: 280px; height: 303px;">

<tr>

<td>

<asp:Panel ID="panTwo" runat="server">

<asp:Button runat="server" Text="↑" class="buttonCss" ID="BtnUp" OnClick="BtnUp_Click">

</asp:Button>

<asp:Button runat="server" Text="↓" class="buttonCss" ID="BtnDown" OnClick="BtnDown_Click">

</asp:Button>

</asp:Panel>

</td>

<td>

<asp:ListBox ID="listType" Style="margin-left: 10px;" runat="server" Width="180px"

Height="400px" SelectionMode="Multiple"></asp:ListBox>

</td>

</tr>

</table>

//后台

/// <summary>

/// 初始化数据

/// </summary>

private void Databind()

{

DataTable dt = GetTreeViewData();

DataView view = new DataView(dt);

foreach (DataRowView row in view)

{

listType.Items.Add(new ListItem(row["Name"].ToString(), row["Id"].ToString()));

}

}

/// <summary>

/// 上移

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

protected void BtnUp_Click(object sender, EventArgs e)

{

// 没有项,或第一个选中节点已经是第一项,则不处理

if (this.listType.Items.Count == 0 || this.listType.Items[0].Selected) return;

for (int i = 1; i < this.listType.Items.Count; i++)

{

if (this.listType.Items[i].Selected)

ChangeProperty(this.listType.Items[i - 1], this.listType.Items[i]);

}

}

/// <summary>

/// 下移

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

protected void BtnDown_Click(object sender, EventArgs e)

{

// 没有项,或最后一个选中节点已经是第一项,则不处理

if (this.listType.Items.Count == 0 || this.listType.Items[this.listType.Items.Count - 1].Selected) return;

for (int i = this.listType.Items.Count - 1; i > -1; i--)

{

if (this.listType.Items[i].Selected)

ChangeProperty(this.listType.Items[i], this.listType.Items[i + 1]);

}

}

/// <summary>

/// 上下移动方法

/// </summary>

/// <param name="fFront"></param>

/// <param name="fCurrent"></param>

private static void ChangeProperty(ListItem fFront, ListItem fCurrent)

{

string fText = fFront.Text;

string fValue = fFront.Value;

bool fSelected = fFront.Selected;

fFront.Text = fCurrent.Text;

fFront.Value = fCurrent.Value;

fFront.Selected = fCurrent.Selected;

fCurrent.Text = fText;

fCurrent.Value = fValue;

fCurrent.Selected = fSelected;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: