通过DataBindDataSourceItemContainer绑定DropDownList - InitDropDownListByDataBindDataSourceItemContainer
2017-02-26 20:54:31 访问(2272) 赞(0) 踩(0)
-
/// <summary>
/// 通过DataBindDataSourceItemContainer绑定DropDownList - InitDropDownListByDataBindDataSourceItemContainer +
/// </summary>
/// <param name="ddl"></param>
/// <param name="dataBindDataSourceItemContainerValue"></param>
/// <param name="curEmListControlAddItem"></param>
public void InitDropDownListByDataBindDataSourceItemContainer
(
DropDownList ddl,
DataBindDataSourceItemContainer dataBindDataSourceItemContainerValue,
SlowX.CtrlUtil.Enums.ListControlAddItem.EmListControlAddItem curEmListControlAddItem
)
{
List<DataBindDataSourceItem> theList
=
dataBindDataSourceItemContainerValue.GetList();
int iCount = theList.Count;
DataBindDataSourceItem item = null;
if (dataBindDataSourceItemContainerValue.IsTreeStructure)
{
item = theList[0];
ddl.Items.Add(new ListItem(CommonValueSlowXCtrlUtilCommon.STR_TREE_BEGIN_DEFAULT + item.TheName, item.ID));
int bindNum = iCount - 1;
StringBuilder treeLine = null;
for (int i = 1; i < bindNum; ++i)
{
item = theList[i];
treeLine = new StringBuilder();
for (int j = 0; j < item.Level; ++j)
{
treeLine.Append(CommonValueSlowXCtrlUtilCommon.STR_TREE_DEFAULT);
}
ddl.Items.Add(new ListItem(treeLine.ToString() + item.TheName, item.ID));
}
item = theList[bindNum];
treeLine = new StringBuilder();
for (int j = 0; j < item.Level; ++j)
{
treeLine.Append(CommonValueSlowXCtrlUtilCommon.STR_TREE_END_DEFAULT);
}
ddl.Items.Add(new ListItem(treeLine.ToString() + item.TheName, item.ID));
}
else
{
for (int i = 0; i < iCount; ++i)
{
item = theList[i];
ddl.Items.Add(new ListItem(item.TheName, item.ID));
}
}
DropDownListSlowXCtrlUtilFunctions.AddItemByEmListControlAddItem(ddl, curEmListControlAddItem);
}
-
using System;
using System.Collections.Generic;
using System.Text;
namespace SlowX.Core.DataSourceItems
{
/// <summary>
///
/// </summary>
[Serializable]
public class DataBindDataSourceItemContainer
{
/// <summary>
/// 构造函数
/// </summary>
public DataBindDataSourceItemContainer()
{
}
/// <summary>
/// 是否树结构
/// </summary>
protected bool m_IsTreeStructure = false;
/// <summary>
/// 是否树结构
/// </summary>
public bool IsTreeStructure
{
get
{
return m_IsTreeStructure;
}
set
{
m_IsTreeStructure = value;
}
}
/// <summary>
/// 列表容器
/// </summary>
protected List<DataBindDataSourceItem> m_theList = null;
/// <summary>
/// 获得列表容器
/// </summary>
/// <returns></returns>
public List<DataBindDataSourceItem> GetList()
{
return m_theList;
}
/// <summary>
/// 设置列表容器
/// </summary>
/// <param name="theValue"></param>
public void SetList(List<DataBindDataSourceItem> theValue)
{
m_theList = theValue;
}
}
}
-
using System;
using System.Collections.Generic;
using System.Data;
using System.Text;
using SlowX.Core.Common;
namespace SlowX.Core.DataSourceItems
{
/// <summary>
/// 下拉框绑定数据源项
/// </summary>
[Serializable]
public class DataBindDataSourceItem
:
CommonDataSourceItem
{
/// <summary>
/// 层次
/// </summary>
protected int m_Level = 1;
/// <summary>
/// 层次
/// </summary>
public int Level
{
get
{
return m_Level;
}
set
{
m_Level = value;
}
}
/// <summary>
/// 选择
/// </summary>
protected bool m_EnableSelect = true;
/// <summary>
/// 选择
/// </summary>
public bool EnableSelect
{
get
{
return m_EnableSelect;
}
set
{
m_EnableSelect = value;
}
}
/// <summary>
/// 全部选择
/// </summary>
public bool AllEnableSelect
{
get
{
return true;
}
}
/// <summary>
/// 叶子个数
/// </summary>
protected int m_leafNum = 0;
/// <summary>
/// 叶子个数
/// </summary>
public int leafNum
{
get
{
return m_leafNum;
}
set
{
m_leafNum = value;
}
}
/// <summary>
/// 是叶子
/// </summary>
public bool IsLeaf
{
get
{
return m_leafNum == 0;
}
}
/// <summary>
/// 不是叶子
/// </summary>
public bool IsNotLeaf
{
get
{
return m_leafNum > 0;
}
}
/// <summary>
/// 构造函数
/// </summary>
public DataBindDataSourceItem
(
)
{
}
/// <summary>
/// 构造函数
/// </summary>
/// <param name="_ID"></param>
/// <param name="_TheName"></param>
public DataBindDataSourceItem
(
string _ID,
string _TheName
)
:
base(_ID, _TheName)
{
}
/// <summary>
/// 构造函数
/// </summary>
/// <param name="_ID"></param>
/// <param name="_TheName"></param>
/// <param name="_leafNum"></param>
public DataBindDataSourceItem
(
string _ID,
string _TheName,
int _leafNum
)
:
base(_ID, _TheName)
{
m_leafNum = _leafNum;
}
/// <summary>
/// 构造函数
/// </summary>
/// <param name="_ID"></param>
/// <param name="_TheName"></param>
/// <param name="_Level"></param>
/// <param name="_EnableSelect"></param>
public DataBindDataSourceItem
(
string _ID,
string _TheName,
int _Level,
bool _EnableSelect
)
:
base(_ID, _TheName)
{
m_Level = _Level;
m_EnableSelect = _EnableSelect;
}
/// <summary>
/// 构造函数
/// </summary>
/// <param name="_ID"></param>
/// <param name="_TheName"></param>
/// <param name="_Level"></param>
/// <param name="_leafNum"></param>
/// <param name="_EnableSelect"></param>
public DataBindDataSourceItem
(
string _ID,
string _TheName,
int _Level,
int _leafNum,
bool _EnableSelect
)
:
base(_ID, _TheName)
{
m_Level = _Level;
m_leafNum = _leafNum;
m_EnableSelect = _EnableSelect;
}
/// <summary>
/// DataSet 转成 List CommonDataSourceItem
/// </summary>
/// <param name="ds"></param>
/// <returns></returns>
public static List<DataBindDataSourceItem> StaticDataSetToListDataBindDataSourceItem(DataSet ds)
{
List<DataBindDataSourceItem> theResult = new List<DataBindDataSourceItem>();
foreach (DataRow dr in ds.Tables[0].Rows)
{
theResult.Add
(
new DataBindDataSourceItem
(
dr[DataColumnNameSlowXCoreCommon.ID].ToString(),
dr[DataColumnNameSlowXCoreCommon.TheName].ToString()
)
);
}
return theResult;
}
}
}
-
/// <summary>
/// 添加 EmListControlAddItem - AddItemByEmListControlAddItem
/// </summary>
/// <param name="ddl"></param>
/// <param name="curEmListControlAddItem"></param>
public static void AddItemByEmListControlAddItem
(
DropDownList ddl,
SlowX.CtrlUtil.Enums.ListControlAddItem.EmListControlAddItem curEmListControlAddItem
)
{
switch (curEmListControlAddItem)
{
case Enums.ListControlAddItem.EmListControlAddItem.不添加:
break;
case Enums.ListControlAddItem.EmListControlAddItem.其它:
ddl.Items.Add(new ListItem("其它", "0"));
break;
case Enums.ListControlAddItem.EmListControlAddItem.请选择:
ddl.Items.Insert(0, new ListItem("--请选择--", ""));
break;
case Enums.ListControlAddItem.EmListControlAddItem.全部:
ddl.Items.Insert(0, new ListItem("--全部--", ""));
break;
case Enums.ListControlAddItem.EmListControlAddItem.无:
ddl.Items.Add(new ListItem("无", "0"));
break;
case Enums.ListControlAddItem.EmListControlAddItem.根:
ddl.Items.Insert(0, new ListItem("根", "0"));
break;
case Enums.ListControlAddItem.EmListControlAddItem.自定义:
break;
default:
throw new Exception
(
"方法:"
+ MethodBase.GetCurrentMethod().ReflectedType.FullName
+ " "
+ MethodBase.GetCurrentMethod().ToString()
+ " 发生异常:"
+ "枚举("
+ curEmListControlAddItem.GetType().FullName
+ "."
+ curEmListControlAddItem.ToString()
+ ")未知,对应的代码尚未实现。"
);
}
}
-
#region Enum
/// <summary>
/// 数据库类型
/// </summary>
public enum EmListControlAddItem
{
/// <summary>
/// 自定义
/// </summary>
自定义 = 1,
/// <summary>
/// 不添加
/// </summary>
不添加,
/// <summary>
/// 无(text = 无,Value=0)
/// </summary>
无,
/// <summary>
/// 请选择 (text = 请选择,Value="")
/// </summary>
请选择,
/// <summary>
/// 全部 (text = 全部,Value="")
/// </summary>
全部,
/// <summary>
/// 根(text=根,Value="0")
/// </summary>
根,
/// <summary>
/// 其它 (text = 其它,Value=0)
/// </summary>
其它
}
#endregion Enum
-
using System;
using System.Collections.Generic;
using System.Text;
namespace SlowX.CtrlUtil.Common
{
/// <summary>
/// 常用值
/// </summary>
public class CommonValueSlowXCtrlUtilCommon
{
#region 树的几个形状值
/// <summary>
/// 树形状(开始)
/// </summary>
public const string STR_TREE_BEGIN = "┌";
/// <summary>
/// 树形状(中间)
/// </summary>
public const string STR_TREE_MID = "├";
/// <summary>
/// 树形状(结束)
/// </summary>
public const string STR_TREE_END = "└";
/// <summary>
/// 树形状(链接)
/// </summary>
public const string STR_TREE_LINE = "┈";
/// <summary>
/// 树形状(中间+链接)
/// </summary>
public const string STR_TREE_DEFAULT = "┣"; //STR_TREE_MID + STR_TREE_LINE;
/// <summary>
/// 树形状(开始+链接)
/// </summary>
public const string STR_TREE_BEGIN_DEFAULT = "┏"; // STR_TREE_BEGIN + STR_TREE_LINE;
/// <summary>
/// 树形状(结束+链接)
/// </summary>
public const string STR_TREE_END_DEFAULT = "┗"; //STR_TREE_END + STR_TREE_LINE;
#endregion
}
}
标签:
通过DataBindDataSourceItemContainer绑定DropDownList - InitDropDownListByDataBindDataSourceItemContainer 


上一条:
下一条:
相关评论
发表评论