/// <summary> /// 绑定数据源 /// </summary> /// <param name="dataSource">数据源</param> /// <remarks>如果给控件设置了数据源,此方法是将数据源的数据绑定到待选择列表数据集合</remarks> protected override void PerformDataBinding(IEnumerable dataSource) { if (dataSource != null) { if (this.candidateItems == null) { //如果数据集合为null,则实例化 this.candidateItems = new SelectItemCollection(); } //Field是否为空标记 bool flag = false; string propName = this.DataSourseTextField; string dataValueField = this.DataSourseValueField; string dataSortField = this.DataSourseSortField; ICollection iData = dataSource as ICollection; if ((propName.Length != 0) || (dataValueField.Length != 0) || dataSortField.Length != 0) { flag = true; } //取出dataSourse foreach (object objData in dataSource) { SelectItem item = new SelectItem(); if (flag) { if (propName.Length > 0) { item.SelectListBoxText = DataBinder.GetPropertyValue(objData, propName, null); } if (dataValueField.Length > 0) { item.SelectListBoxValue = DataBinder.GetPropertyValue(objData, dataValueField, null); } if (dataSortField.Length > 0) { item.SelectListBoxSortColumn = DataBinder.GetPropertyValue(objData, dataSortField, null); } } else { item.SelectListBoxText = objData.ToString(); item.SelectListBoxValue = objData.ToString(); item.SelectListBoxSortColumn = objData.ToString(); } this.candidateItems.Add(item); } } }
/// <summary> /// 移除Item /// </summary> /// <param name="item">Item</param> /// <remarks>移除Item</remarks> public void Remove(SelectItem item) { List.Remove(item); }
/// <summary> /// 在指定位置添加Item /// </summary> /// <param name="index">索引位置</param> /// <param name="item">Item</param> /// <remarks>在指定位置添加Item</remarks> public void Insert(int index, SelectItem item) { List.Insert(index, item); }
/// <summary> /// 取得Item索引值 /// </summary> /// <param name="item">Item</param> /// <returns>取得Item的索引值</returns> /// <remarks>取得Item索引值</remarks> public int IndexOf(SelectItem item) { return(List.IndexOf(item)); }
/// <summary> /// 添加Item /// </summary> /// <param name="item">Item</param> /// <returns>添加Item</returns> /// <remarks>添加Item</remarks> public int Add(SelectItem item) { return(List.Add(item)); }
/// <summary> /// 取得Item索引值 /// </summary> /// <param name="item">Item</param> /// <returns>取得Item的索引值</returns> /// <remarks>取得Item索引值</remarks> public int IndexOf(SelectItem item) { return (List.IndexOf(item)); }
/// <summary> /// 添加Item /// </summary> /// <param name="item">Item</param> /// <returns>添加Item</returns> /// <remarks>添加Item</remarks> public int Add(SelectItem item) { return (List.Add(item)); }