绑定数值的容器 - DataBindDataSourceItemContainer
2017-02-26 21:13:01 访问(1913) 赞(0) 踩(0)
-
using System;
using System.Collections.Generic;
using System.Text;
namespace SlowX.Core.DataSourceItems
{
/// <summary>
/// 绑定数值的容器 - DataBindDataSourceItemContainer
/// </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>
/// 下拉框绑定数据源项 - DataBindDataSourceItem
/// </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;
}
}
}
-
using System;
using System.Collections.Generic;
using System.Data;
using System.Text;
using SlowX.Core.Common;
namespace SlowX.Core.DataSourceItems
{
/// <summary>
/// 通俗数据源 - CommonDataSourceItem
/// </summary>
[Serializable]
public class CommonDataSourceItem
:
BasicDataSourceItem
{
/// <summary>
/// ID
/// </summary>
protected string m_ID = string.Empty;
/// <summary>
/// ID
/// </summary>
public string ID
{
get
{
return m_ID;
}
set
{
m_ID = value;
}
}
/// <summary>
/// Long型的ID值
/// </summary>
/// <returns></returns>
public long GetLongId()
{
return long.Parse(m_ID);
}
/// <summary>
/// TheName
/// </summary>
protected string m_TheName = string.Empty;
/// <summary>
/// TheName
/// </summary>
public string TheName
{
get
{
return m_TheName;
}
set
{
m_TheName = value;
}
}
/// <summary>
/// 构造函数
/// </summary>
public CommonDataSourceItem()
{
}
/// <summary>
/// 构造函数
/// </summary>
/// <param name="_ID"></param>
/// <param name="_TheName"></param>
public CommonDataSourceItem(string _ID, string _TheName)
{
m_ID = _ID;
m_TheName = _TheName;
}
/// <summary>
/// 构造函数
/// </summary>
/// <param name="dr"></param>
public CommonDataSourceItem(DataRow dr)
:
base(dr)
{
m_ID = dr[DataColumnNameSlowXCoreCommon.ID].ToString();
m_TheName = dr[DataColumnNameSlowXCoreCommon.TheName].ToString();
}
/// <summary>
/// 获得属性的值
/// </summary>
/// <param name="theName"></param>
/// <returns></returns>
public override object GetPropertyValue(string theName)
{
string lowerTheName = "";
if (theName != null)
lowerTheName = theName.ToLower();
switch (lowerTheName)
{
case DataColumnLowerNameSlowXCoreCommon.id:
return ID;
case DataColumnLowerNameSlowXCoreCommon.thename:
return TheName;
default:
return base.GetPropertyValue(theName);
}
}
/// <summary>
/// 复制对象
/// </summary>
/// <returns></returns>
public CommonDataSourceItem CopyCommonDataSourceItem()
{
return new CommonDataSourceItem(ID, TheName);
}
/// <summary>
/// 复制List
/// </summary>
/// <param name="theList"></param>
/// <returns></returns>
public static List<CommonDataSourceItem> StaticCopyListCommonDataSourceItem(List<CommonDataSourceItem> theList)
{
List<CommonDataSourceItem> theResult = new List<CommonDataSourceItem>();
foreach (CommonDataSourceItem item in theList)
{
theResult.Add(item.CopyCommonDataSourceItem());
}
return theResult;
}
/// <summary>
/// DataSet 转成 List CommonDataSourceItem
/// </summary>
/// <param name="ds"></param>
/// <returns></returns>
public static List<CommonDataSourceItem> StaticDataSetToListCommonDataSourceItem(DataSet ds)
{
List<CommonDataSourceItem> theResult = new List<CommonDataSourceItem>();
foreach (DataRow dr in ds.Tables[0].Rows)
{
theResult.Add(new CommonDataSourceItem
(
dr[DataColumnNameSlowXCoreCommon.ID].ToString(),
dr[DataColumnNameSlowXCoreCommon.TheName].ToString())
);
}
return theResult;
}
/// <summary>
/// DataTable 转成 List CommonDataSourceItem
/// </summary>
/// <param name="dt"></param>
/// <returns></returns>
public static List<CommonDataSourceItem> StaticDataTableToListCommonDataSourceItem
(
DataTable dt
)
{
List<CommonDataSourceItem> theResult = new List<CommonDataSourceItem>();
foreach (DataRow dr in dt.Rows)
{
theResult.Add(new CommonDataSourceItem
(
dr[DataColumnNameSlowXCoreCommon.ID].ToString(),
dr[DataColumnNameSlowXCoreCommon.TheName].ToString())
);
}
return theResult;
}
/// <summary>
/// DataSet 转成 List CommonDataSourceItem
/// </summary>
/// <param name="ds"></param>
/// <param name="dataColumnNameId"></param>
/// <param name="dataColumnNameTheName"></param>
/// <returns></returns>
public static List<CommonDataSourceItem> StaticDataSetToListCommonDataSourceItem(DataSet ds, string dataColumnNameId, string dataColumnNameTheName)
{
List<CommonDataSourceItem> theResult = new List<CommonDataSourceItem>();
foreach (DataRow dr in ds.Tables[0].Rows)
{
theResult.Add(new CommonDataSourceItem(dr[dataColumnNameId].ToString(), dr[dataColumnNameTheName].ToString()));
}
return theResult;
}
/// <summary>
/// DataTable 转成 List CommonDataSourceItem
/// </summary>
/// <param name="ds"></param>
/// <param name="dataColumnNameId"></param>
/// <param name="dataColumnNameTheName"></param>
/// <returns></returns>
public static List<CommonDataSourceItem> StaticDataTableToListCommonDataSourceItem
(
DataTable dt,
string dataColumnNameId,
string dataColumnNameTheName
)
{
List<CommonDataSourceItem> theResult = new List<CommonDataSourceItem>();
foreach (DataRow dr in dt.Rows)
{
theResult.Add(new CommonDataSourceItem(dr[dataColumnNameId].ToString(), dr[dataColumnNameTheName].ToString()));
}
return theResult;
}
}
}
-
using System;
using System.Collections.Generic;
using System.Data;
using System.Reflection;
using System.Text;
namespace SlowX.Core.DataSourceItems
{
/// <summary>
///
/// </summary>
[Serializable]
public class BasicDataSourceItem
{
/// <summary>
/// 通俗数据源
/// </summary>
public BasicDataSourceItem()
{
}
/// <summary>
///
/// </summary>
/// <param name="dr"></param>
public BasicDataSourceItem(DataRow dr)
{
}
/// <summary>
/// 获得属性的值
/// </summary>
/// <param name="_propertyName"></param>
/// <returns></returns>
public virtual object GetPropertyValue(string _propertyName)
{
Type thisType = this.GetType();
PropertyInfo info = thisType.GetProperty(_propertyName, BindingFlags.Public | BindingFlags.GetProperty | BindingFlags.IgnoreCase | BindingFlags.Instance);
if (info == null)
{
throw new Exception
(
"方法:"
+ MethodBase.GetCurrentMethod().ReflectedType.FullName
+ " "
+ MethodBase.GetCurrentMethod().ToString()
+ " 发生异常:"
+ "PropertyInfo info = thisType.GetProperty(_propertyName[" + _propertyName + "]);为null"
);
}
return info.GetValue(this, null);
}
/// <summary>
/// 获得String值
/// </summary>
/// <param name="_propertyName"></param>
/// <returns></returns>
public string GetPropertyStrValue(string _propertyName)
{
object o = GetPropertyValue(_propertyName);
if (o == null)
return null;
return o.ToString();
}
/// <summary>
/// 设置属性值
/// </summary>
/// <param name="_propertyName"></param>
/// <param name="theValue"></param>
public virtual void SetPropertyValue(string _propertyName, object theValue)
{
Type thisType = this.GetType();
PropertyInfo info = thisType.GetProperty(_propertyName, BindingFlags.Public | BindingFlags.SetProperty | BindingFlags.IgnoreCase | BindingFlags.Instance);
if (info == null)
{
throw new Exception
(
"方法:"
+ MethodBase.GetCurrentMethod().ReflectedType.FullName
+ " "
+ MethodBase.GetCurrentMethod().ToString()
+ " 发生异常:"
+ "PropertyInfo info = thisType.GetProperty(_propertyName[" + _propertyName + "]);为null"
);
}
if (theValue == DBNull.Value)
theValue = null;
info.SetValue(this, theValue, null);
}
}
}
标签:
绑定数值的容器 - DataBindDataSourceItemContainer 


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