<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ListBoxCommonOperDemo.aspx.cs" Inherits="BusinessDealUserConfig" %>
<%@ Register Src="UCUserInfo.ascx" TagName="UCUserInfo" TagPrefix="uc" %>
<%@ Register Src="UCEmployeeBar.ascx" TagName="UCEmployeeBar" TagPrefix="uc" %>
<!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>
</head>
<body>
<form id="form1" runat="server">
<div>
<uc:UCUserInfo ID="UCUserInfo" runat="server" />
<uc:UCEmployeeBar ID="UCEmployeeBar" runat="server" />
<asp:Label ID="lblTile" runat="server" Text='默认流程配置'></asp:Label>
<hr />
<table>
<tr>
<td>
<asp:DropDownList ID="ddlJobs" runat="server" DataSourceID="odsJobs" DataTextField="JobName"
DataValueField="JobCode" AppendDataBoundItems="true" AutoPostBack="true">
<asp:ListItem Value="0">-请选择-</asp:ListItem>
</asp:DropDownList>
<br />
<asp:ListBox ID="lstUsers" runat="server" DataSourceID="odsUsers" DataTextField="UserName"
DataValueField="UserId" Width="100" Height="100"></asp:ListBox>
</td>
<td>
<asp:Button ID="btnAdd" runat="server" Text="添加" OnClick="btnAdd_Click" Style="height: 21px" /><br />
<asp:Button ID="btnDelete" runat="server" Text="删除" OnClick="btnDelete_Click" />
</td>
<td>
<asp:ListBox ID="lstDealUsers" runat="server" Width="100" Height="100" DataTextField="DealUserName" DataValueField="DealUserId"></asp:ListBox>
</td>
<td>
<asp:Button ID="btnUp" runat="server" Text="向上" onclick="btnUp_Click" /><br />
<asp:Button ID="btnDown" runat="server" Text="向下" onclick="btnDown_Click" />
</td>
</tr>
<tr>
<td colspan="4" style="text-align:center">
<asp:Button ID="btnSave" runat="server" Text="保存" onclick="btnSave_Click" /></td>
</tr>
</table>
<asp:ObjectDataSource ID="odsJobs" runat="server" SelectMethod="GetJobInfos" TypeName="GFOA.Library.UserService">
</asp:ObjectDataSource>
<asp:ObjectDataSource ID="odsUsers" runat="server" SelectMethod="GetEmployeesByJob"
TypeName="GFOA.Library.UserService">
<SelectParameters>
<asp:ControlParameter ControlID="ddlJobs" Name="jobCode" PropertyName="SelectedValue"
Type="String" />
</SelectParameters>
</asp:ObjectDataSource>
</div>
</form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using GFOA.Library;
public partial class BusinessDealUserConfig : System.Web.UI.Page
{
protected UserService _UserService = new UserService();
protected DealUserConfigService _DealUserConfigService = new DealUserConfigService();
/// <summary>
/// 业务ID
/// </summary>
public Guid BusinessId
{
get
{
return new Guid(ViewState["BusinessId"].ToString());
}
set
{
ViewState["BusinessId"] = value;
}
}
public string BusinessName
{
get
{
return (string)ViewState["BusinessName"];
}
set
{
ViewState["BusinessName"] = value;
}
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindData();
}
}
private void BindData()
{
lblTile.Text = Request["BusinessName"] + "——" + lblTile.Text;
BusinessId = new Guid(Request["BusinessId"]);
BusinessName = Request["BusinessName"];
List<DealUserConfig> dealUserConfigs = this._DealUserConfigService.GetByBusinessId(BusinessId);
if (dealUserConfigs != null)
{
lstDealUsers.DataSource = dealUserConfigs;
lstDealUsers.DataBind();
}
}
/// <summary>
/// 添加
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnAdd_Click(object sender, EventArgs e)
{
if (this.lstUsers.SelectedValue == "")
{
ScriptHelper.RegisterScript("alert('没有选中任何用户,请选择用户');window.history.back(-1);");
}
else
{
lstDealUsers.Items.Add(lstUsers.SelectedItem);
lstDealUsers.SelectedIndex = 0;
}
}
/// <summary>
/// 删除
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnDelete_Click(object sender, EventArgs e)
{
if (this.lstDealUsers.SelectedValue == "")
{
ScriptHelper.RegisterScript("alert('没有选中任何用户,请选择用户');window.history.back(-1);");
}
else
{
lstDealUsers.Items.Remove(lstDealUsers.SelectedItem);
}
}
/// <summary>
/// 向上
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnUp_Click(object sender, EventArgs e)
{
if (lstDealUsers.SelectedIndex != 0)
{
ListItem tempListItem = lstDealUsers.Items[lstDealUsers.SelectedIndex - 1];
string text = tempListItem.Text;
string value = tempListItem.Value;
lstDealUsers.Items[lstDealUsers.SelectedIndex - 1].Text = lstDealUsers.SelectedItem.Text;
lstDealUsers.Items[lstDealUsers.SelectedIndex - 1].Value = lstDealUsers.SelectedItem.Value;
lstDealUsers.Items[lstDealUsers.SelectedIndex].Text = text;
lstDealUsers.Items[lstDealUsers.SelectedIndex].Value = value;
lstDealUsers.SelectedIndex = lstDealUsers.SelectedIndex - 1;
lstDealUsers.DataBind();
}
else
{
ScriptHelper.RegisterScript("alert('已经到顶了');window.history.back(-1);");
}
}
/// <summary>
/// 向下
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnDown_Click(object sender, EventArgs e)
{
if (lstDealUsers.SelectedIndex != lstDealUsers.Items.Count - 1)
{
ListItem tempListItem = lstDealUsers.Items[lstDealUsers.SelectedIndex + 1];
string text = tempListItem.Text;
string value = tempListItem.Value;
lstDealUsers.Items[lstDealUsers.SelectedIndex + 1].Text = lstDealUsers.SelectedItem.Text;
lstDealUsers.Items[lstDealUsers.SelectedIndex + 1].Value = lstDealUsers.SelectedItem.Value;
lstDealUsers.Items[lstDealUsers.SelectedIndex].Text = text;
lstDealUsers.Items[lstDealUsers.SelectedIndex].Value = value;
lstDealUsers.SelectedIndex = lstDealUsers.SelectedIndex + 1;
lstDealUsers.DataBind();
}
else
{
ScriptHelper.RegisterScript("alert('已经到底了');window.history.back(-1);");
}
}
/// <summary>
/// 保存
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSave_Click(object sender, EventArgs e)
{
this._DealUserConfigService.DeleteByBusinessId(BusinessId);
List<DealUserConfig> DealUserConfigs = new List<DealUserConfig>();
int sortIndex =0;
foreach (ListItem userItem in lstDealUsers.Items)
{
UserInfoProxy userInfoProxy = this._UserService.GetUserInfo(Convert.ToInt32(userItem.Value));
DealUserConfig dealUserConfig = new DealUserConfig();
dealUserConfig.Id = Guid.NewGuid();
dealUserConfig.BusinessId = BusinessId;
dealUserConfig.DealUserJobCode = userInfoProxy.JobCode;
dealUserConfig.DealUserJobName = this._UserService.GetJobInfoByCode(userInfoProxy.JobCode).JobName;
dealUserConfig.DealUserId = Convert.ToInt32(userItem.Value);
dealUserConfig.DealUserName = userItem.Text;
dealUserConfig.SortIndex = sortIndex++;
DealUserConfigs.Add(dealUserConfig);
}
this._DealUserConfigService.InsertDealUserConfigs(DealUserConfigs);
ScriptHelper.MessageDialog("保存成功", "BusinessDealUserConfig.aspx?BusinessName="+BusinessName+"&BusinessId="+BusinessId);
}
}
分享到:
相关推荐
这里上下移动指的是在ListBox自身内切换选中项,而左右移动则涉及到在两个ListBox之间转移选中项。 1. **上下移动**: 要实现在ListBox内的上下移动,我们可以通过响应`KeyDown`事件来检查用户按下的是上箭头或下...
总结来说,要在WinForms的C#环境中实现两个ListBox之间数据交换,关键在于理解ListBox控件的操作,包括添加、移除项以及处理用户交互事件。通过编写适当的事件处理函数,我们可以实现单个或批量的交换操作,从而提升...
以上代码片段在用户改变ListBox1的选中项时,会将选中的项移动到ListBox2。请注意,实际的代码可能需要根据具体需求进行调整,比如增加错误处理、优化性能或增强用户体验。 在提供的压缩包文件"Example086-在...
本主题聚焦于“C# WinForm两个listBox之间的Item互相拖动”这一功能,这涉及到Windows窗体应用程序中的事件处理、鼠标操作以及数据传输。下面将详细阐述实现这个功能的关键知识点。 首先,我们要了解`ListBox`控件...
本教程将深入探讨如何实现ListBox内的项上下移动的功能,这对于创建具有灵活交互性的用户界面至关重要,特别是当用户需要调整列表顺序时。 首先,我们需要理解ListBox的基本属性和方法。`ListBox`控件的主要属性...
在实际应用中,我们经常需要将一个Listbox中的数据移动到另一个Listbox,这通常涉及到选中项的转移或者整个Listbox内容的清空与复制。本篇文章将详细讲解如何实现"两个listbox之间内容转移",包括选中项的转移和全部...
在本文中,我们将深入...通过这种方式,你可以在WPF应用程序中轻松实现数据项在两个ListBox之间的拖放功能,提升用户交互体验。记住,WPF的强大在于其灵活性和可定制性,所以你可以根据需求调整和扩展这个基础实现。
2. 数据交换:在源和目标`ListBox`之间转移数据,这可能涉及复制或移动项,取决于业务需求。 通过上述步骤,你可以实现`ListBox`之间的拖放和内部元素排序功能。提供的源代码文件"Listbox拖拽"应该包含了详细的实现...
这个函数接受两个ListBox作为参数,将源ListBox中的选中项移动到目标ListBox中。注意,实际应用中需要根据需求处理可能的多线程问题和UI更新。 通过以上方法,你可以实现ListBox控件之间的数据交换功能,提升用户...
在Windows Presentation Foundation (WPF) 中,`ListBox` 是一个常用的数据展示控件,它可以用来显示一系列可选择的项。本教程将详细讲解如何在两个`ListBox`之间实现拖放(Drag & Drop)功能,以及如何添加上下按钮...
在本文中,我们将深入探讨如何在ListBox中动态地添加、删除数据,以及实现项目的上移和下移功能,所有这些操作都在无刷新的情况下进行,提供流畅的用户体验。 1. 动态添加数据: 在Windows Forms或Web应用中,可以...
本教程将详细讲解如何在两个Listbox之间进行数据交换,这是在开发各种应用时可能会遇到的常见需求。 首先,我们要理解Listbox的基本操作。在VB中,Listbox可以通过其内置的方法和属性来管理其中的数据。例如,`...
总之,`ASP.NET`中的“左右移动的listbox”是一个自定义ASCX控件,通过提供便捷的数据转移功能,使得用户能够直观地在两个列表之间操作数据,这对于数据筛选、分类等操作非常实用。实现这一功能涉及前端HTML和后端C#...
本教程将深入探讨如何使用C#和JavaScript技术实现ListBox组件中项的左右移动功能,旨在提高用户体验并实现动态数据操作。 首先,`ListBox`是.NET Framework中的一种控件,常用于在Web应用程序中展示可多选的数据...
我们需要获取拖放数据,然后根据拖放的位置调整`ListBox`中的项顺序。 ```csharp private void listBox_DragDrop(object sender, DragEventArgs e) { int dropIndex = listBox.IndexFromPoint(e.X, e.Y); if ...
在按钮的Click事件处理程序中,我们检查ListBox的SelectedIndex,然后将选中项移动到正确的位置。 代码示例: ```vb.net Private Sub ButtonUp_Click(sender As Object, e As EventArgs) Handles ButtonUp.Click ...
2. **分离选定与未选定项**:遍历ListBox中的所有项目,将选定的项目和未选定的项目分别存储到两个不同的集合中。这一步是关键,它允许我们分别处理选定和未选定的项目。 3. **更新ListBox**:清空ListBox,然后...
在实际应用中,可能需要对ListBox中的数据项进行封装,以便包含更多的信息,而不仅仅是显示文本。在这种情况下,可以使用自定义对象作为ListBox的DataSource,并使用DisplayMember和ValueMember属性分别指定显示的...
在Windows Presentation Foundation (WPF) 中,`ListBox`控件是一种常用的数据展示组件,它可以用来显示一系列可选择的项。本篇文章将详细讲解如何在`ListBox`中实现拖拽排序功能,以及背后的实现原理。 首先,`...
在C# WinForm应用开发中,常常需要对控件中的数据进行交互操作,例如排序。本教程将详细讲解如何在ListBox控件中实现拖拽排序的功能。ListBox是.NET Framework提供的一种常用控件,用于显示一系列可选择的项目。在...