通用解决方案:解决NHibernate SELECT 多表查询结果List绑定控件显示问题。
2008-11-22 15:00
656 查看
(1)NHibernate SELECT 多表查询结果List是一个二维数组,无法直接绑定界面Grid控件,不赞成对每一个查询单独增加一个类解决显示问题。
(2)建立一个类ConmmonNH,有20个string的属性,属性名(Col0-Col19)。(如果觉得所有程序界面显示字段超过20,可以增加属性)
(3)实现方法ConvertToConmmonNH,代码如下:
public IList<ConmmonNH> ConvertToConmmonNH(IList list)
{
IList<ConmmonNH> arr = new List<ConmmonNH>();
foreach (object[] obj in list)
{
ConmmonNH con = new ConmmonNH();
for (int i = 0; i < obj.Length; i++)
{
con.GetType().GetProperty("Col" + i.ToString()).SetValue(con, obj[i].ToString(), null);
}
arr.Add(con);
}
return arr;
}
(4)转换过的结果可以直接绑定界面Grid控件,需要说明的是因为实际查询的字段数目不等,多余的字段值为空,绑定Grid控件的时候列不要自动生成,手工指定即可。
(2)建立一个类ConmmonNH,有20个string的属性,属性名(Col0-Col19)。(如果觉得所有程序界面显示字段超过20,可以增加属性)
(3)实现方法ConvertToConmmonNH,代码如下:
public IList<ConmmonNH> ConvertToConmmonNH(IList list)
{
IList<ConmmonNH> arr = new List<ConmmonNH>();
foreach (object[] obj in list)
{
ConmmonNH con = new ConmmonNH();
for (int i = 0; i < obj.Length; i++)
{
con.GetType().GetProperty("Col" + i.ToString()).SetValue(con, obj[i].ToString(), null);
}
arr.Add(con);
}
return arr;
}
(4)转换过的结果可以直接绑定界面Grid控件,需要说明的是因为实际查询的字段数目不等,多余的字段值为空,绑定Grid控件的时候列不要自动生成,手工指定即可。
相关文章推荐
- 如何使用 BindingSource 绑定 ListBox,同时解决绑定 List<T> 后修改数据源不能同时刷新界面显示的问题
- dataGridView1.DataSource,解决查询结果不从第一行显示,而是不断往表下面扩展问题
- SenchaTouch2中list组件无法绑定存储或者绑定后仍旧无法显示数据问题解决
- MySQL 中文显示乱码以及中文查询条件返回0条结果的问题解决
- ibatis分组查询结果的返回参数绑定问题解决方案
- 在使用Hibernate时,因为一个查询需要更多的表连接而要使用SQL来解决性能问题。然而返回的结果集中包含了没有映射的Entity类中的表字段,在这个SQL中还有使用如何将层次关系的父子结点显示为横行
- 不显示查询问题的解决(太完美了,新建一个图层,表示查询结果)
- 20151224:Web:CheckBoxList 控件:去重显示 ;复选框多选时可点击查询查出结果
- 解决mybatis使用char类型字段查询oracle数据库时结果返回null问题
- Android ListView滑动过程中控件显示重复/错误问题之原理分析及解决方案
- MyBatis-模糊查询控制台不报错,但是得到的结果集合确是0的问题解决办法
- android之Android中的SQL查询语句LIKE绑定参数问题解决办法(sqlite数据库)
- mysql 查询结果 导出 excel格式并解决乱码问题
- MyBatis解决字段名和实体类属性名不相同冲突问题时返回查询结果为空
- C# winform中不规则窗体制作的解决方案(已经解决24位色以上不能正常显示问题)
- 【LGame入门学堂011.控件篇】简单控件之解决添加控件后控件不显示的问题
- Android ListView滑动过程中控件显示重复/错误问题之原理分析及解决方案
- oralce 查询30天后生日 解决方案(解决跨年问题)
- 将ado.Recordset对象变量中查询结果显示到MSHFlexGrid控件中出现错误解决办法
- android--解决listview的footerDivider不显示的问题(解决方案)