多选下拉框用户控件

多个控件组合为用户控件,实现多选

1.CSS文件

.MultDropList {display:inline-block;} .labelArea {vertical-align:super} .DropList {display:inline-block; height:20px;margin-top:5px;margin-left:2px;border:1px solid #ccc;  cursor:pointer; background:url(/UserControl/MultDropDownList/xj.png) #fff no-repeat center right; font-size:12px; line-height:20px;padding-right:10px; position:relative;} .CheckList {height:200px;overflow:auto; border:1px solid #ccc; position:absolute; background-color:#fff; z-index:999;left:0px;right:0px; display:none;padding:5px; line-height:24px; cursor:default;} .DropList:hover .CheckList{display:block;} .InputArea { font-weight:normal;border:0px}

2.用户控件

<script>

function GetSelectValue(control, e) {

var items = control.GetSelectedItems();  //获取选中值

var value = new Array();  //选中值集合

for (var i = 0; i < items.length; i++) {

value.push(items[i].text);

}

var values = value.join(",");   //拼接字符串

$(‘#<%=txtSelectText.ClientID%> input‘).val(values);

}

$(function () {

$(window).resize(function () {

$(‘.CheckList .dxlbd‘).css(‘height‘, ‘100%‘);

});

});

</script>

<span class="MultDropList">

   <dx:ASPxLabel runat="server" ID="labCaption" CssClass="labelArea"></dx:ASPxLabel>

   <span class="DropList">

<dx:ASPxTextBox ID="txtSelectText" runat="server" CssClass="InputArea" ReadOnly="true"></dx:ASPxTextBox>

<div class="CheckList">

<dx:ASPxListBox ID="libValueList" runat="server" SelectionMode="CheckColumn" Width="100%" Height="100%" Border-BorderWidth="0px">                 <ClientSideEvents SelectedIndexChanged="GetSelectValue" />

</dx:ASPxListBox>

</div>

</span>

</span>

3.用户控件 后台代码

protected void Page_Load(object sender, EventArgs e)         {             //默认加载             List<string> texts = new List<string>();             var selectItems = libValueList.SelectedItems;             foreach (var item in selectItems)             {                 texts.Add(item.ToString());             }             txtSelectText.Text = string.Join(",", texts);         }

#region 属性         /// <summary>         /// 标题         /// </summary>         public string Caption         {             get             {                 return labCaption.Text;             }             set             {                 labCaption.Text = value+":";             }         }

/// <summary>         /// 宽度         /// </summary>         public Unit Width         {             get             {                 return txtSelectText.Width;             }             set             {                 txtSelectText.Width = value;             }         }

/// <summary>         ///值字段         /// </summary>         public string ValueField         {             get             {                 return libValueList.ValueField;             }             set             {                 libValueList.ValueField = value;             }         }         /// <summary>         /// 文本字段         /// </summary>         public string TextField         {             get             {                 return libValueList.TextField;             }             set             {                 libValueList.TextField = value;             }         }         /// <summary>         /// 数据源         /// </summary>         public object DataSource         {             get             {                 return libValueList.DataSource;             }             set             {                 libValueList.DataSource = value;             }         }

/// <summary>         /// 选中的值         /// </summary>         public List<string> SelectedValues         {             get             {                 List<string> returnValue = new List<string>();                 var values = libValueList.SelectedValues;                 foreach (var item in values)                 {                     returnValue.Add(item.ToString());                 }                 return returnValue;             }                   }         /// <summary>         /// 选中的项         /// </summary>         public SelectedItemCollection SelectedItems         {             get             {                 return libValueList.SelectedItems;             }                   }         /// <summary>         /// 项         /// </summary>                public ListEditItemCollection Items         {             get             {                 return libValueList.Items;             }                   }         #endregion

#region 方法         /// <summary>         /// 数据源绑定         /// </summary>         public void MyDataBind()         {             libValueList.DataBind();         }               #endregion

4.使用,

1)拖拽即可

<uc1:MultDropDownList runat="server" ID="MultDropDownList1" Caption="多选" />

2)后台添加

MultDropDownList control = Page.LoadControl("/UserControl/MultDropDownList/MultDropDownList.ascx") as MultDropDownList;
            control.ID = "mddl1";
            control.Caption = "提示";

时间: 2024-10-13 16:27:36

多选下拉框用户控件的相关文章

IOS自制类似于下拉框的控件

最近做的有关物流的APP中,货物数量的单位需要在给定的范围选取(比如:吨.方.件),但ios没有类似Android中的下拉框,我就自己想了办法自制了一个,效果还算满意:以后项目组的本科小师妹会帮我一起做ios端的开发,在此表示感谢!!! 第一步:新建工程XiaLaKuang(名字比较俗,新建方法不再比比...) 第二步:操作main.storyboard ——>拖拽一个UIButton(命名Title为“吨”,background为“light gray”,Alignment中的Horizona

自定义SWT控件二之自定义多选下拉框

2.自定义下拉多选框 package com.view.control.select; import java.util.ArrayList; import java.util.HashMap; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.CLabel; import or

query多选下拉框插件 jquery-multiselect(修改)

其实网上关于该控件的使用教程已经很多了,其中 query多选下拉框插件 jquery-multiselect Jquery多选下拉列表插件jquery multiselect功能介绍及使用 这2个的介绍已经比较详细了,尤其是第二个有扩展MyValues函数,只是扩展有些bug,这里我在提出一些我的扩展,我们应该把multiValues属性定义在options里面,让每个multiselect控件都有自己的multiValues属性.我这里还需要一个获取text的方法.有关Myvalues和Myt

多选下拉框带搜索(aps.net)

自己写了一个带搜索功能的多选下拉框,为了要获取值,就没有封装插件,实现思路 1.一个文本框 做搜索 2.一个文本框显示选中文本,一个隐藏控件存值 3.一个div里面绑定CheckBoxList控件(这里,你也可以请求后直接插入checkbox) 代码 1.一个变量把div的html存起来 2.选中就加到文本框,取消就减掉 //选中记录,反选删除 $("#divChkList :checkbox").each(function () { $(this).click(function ()

如何写一套下拉刷新的控件?《MJRefresh原理浅析》(附Demo下载地址)

相信大家有很多人在做项目的时候都在使用MJRefresh 控件来实现下拉刷新的功能: MJRefresh经过不断的重构与更新迭代,现在不管是功能上还是代码结构上都是相当不错的,都是很值我们去学习的. 下面就是MJRefresh开源框架中中主要的一些类文件 MJRefresh主要的类文件 MJRefresh 的使用相信都难不倒大家 今天我主要想和大家分享一下MJRefresh的想法,因为我觉得这才是最重要的,献丑了,有理解的不对和不深入的地方,请大家多多点评哈! 试想,如果没有MJRefresh开

Html 多选下拉框

1.css文件 span.dropList {display:inline-block; height:20px;border:1px solid #ccc;  cursor:pointer; background:url(../images/xj.png) #fff no-repeat center right; font-size:12px; line-height:20px;padding-right:10px; position:relative;} span.dropList .Che

页面多选下拉框 jquery.multiple.select

1.首先引用jquery.multiple.select.js.multiple-select.css 2.在页面select下拉列表里面加一个multiple="multiple" <select name="nimbusHost" id="nimbusHost" multiple="multiple"> <c:forEach items="${stormIps}" var="

Atitit.ui控件---下拉菜单选择控件的实现select html

Atitit.ui控件---下拉菜单选择控件的实现select   html 1. 调用& model的实现 1 2. -----select.jsp------ 1 1. 调用& model的实现 Proj.vod2 <% List li=new ArrayList(); Map m=new HashMap (); m.put("lab","爱情"); m.put("v","1"); li.add(m)

Extjs4.2 多选下拉框

//多选下拉框 Ext.define('MDM.view.custom.MultiComboBox', { extend: 'Ext.form.ComboBox', alias: 'widget.multicombobox', xtype: 'multicombobox', initComponent: function() { this.multiSelect = true; this.listConfig = { itemTpl: Ext.create('Ext.XTemplate', '<