数据源转成IEnumerable类型
来源:互联网 发布:java swing 登录界面 编辑:程序博客网 时间:2024/06/13 01:54
//将数据源中的数据都转换为IEnumerable类型,用作数据绑定
//其中_dataSource为数据源,DataMember为要找的数据名称
protected virtual IEnumerable GetDataSource()
{
if(_dataSource == null)
{
return null;
}
IEnumerable resolvedDataSource = _dataSource as IEnumerable;
if(resolvedDataSource != null)
{
return resolvedDataSource;
}
IListSource listSource = _dataSource as IListSource;
if(listSource != null)
{
IList memberList = listSource.GetList();
int i = memberList.Count;
if(listSource.ContainsListCollection == false)
{
return (IEnumerable)memberList;
}
ITypedList typedMemberList = memberList as ITypedList;
if(typedMemberList != null)
{
PropertyDescriptorCollection propDescs = typedMemberList.GetItemProperties(new PropertyDescriptor[0]);
PropertyDescriptor memberProperty = null;
if((propDescs != null) && (propDescs.Count!=0))
{
string dataMember = DataMember;
if(dataMember.Length == 0)
{
memberProperty = propDescs[0];
}
else
{
memberProperty = propDescs.Find(dataMember,true);
}
if(memberProperty != null)
{
object listRow = memberList[0];
object list = memberProperty.GetValue(listRow);
if(list is IEnumerable)
{
return (IEnumerable)list;
}
}
throw new Exception("no Datamember.");
}
throw new Exception("no datamember.");
}
}
return null;
}
- 数据源转成IEnumerable类型
- IEnumerable
- Ienumerable
- 获取IEnumerable中元素的类型
- IEnumerable<T>类型直接转换成DataTable
- 转成引用类型
- long转成datetime类型
- String类型转成bigdecimal类型
- wstring类型转成string类型
- 类型转换 ArrayList 转成 数组
- 把任意类型转成Boolean
- Mat 转成 Vector 类型数据
- 把字符串转成number类型
- List tuple 类型转成数组
- oracle字符串转成date类型
- const char* 转成 CString类型
- decimal转成纯数字类型
- mvc之验证IEnumerable<T> 类型,多选框验证
- 毕业一年后的工资感悟
- 升级到 CS2.0,开始启动资源文件翻译
- my angel
- 如何把图片存入到数据库
- J2EE开发框架发展史
- 数据源转成IEnumerable类型
- 初学者必须知道的基础
- 让Java程序作为linux的Daemon后台运行
- 久违的习惯
- 10年跳槽经验总结 高级人才不用找工作
- 随笔
- AJAX框架汇总
- Ajax 网址备忘
- Web2.0特征列表