dongdong

博客园 首页 新随笔 联系 订阅 管理
  8 Posts :: 1 Stories :: 88 Comments :: 0 Trackbacks

(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控件的时候列不要自动生成,手工指定即可。

posted on 2008-11-22 15:00 东东 阅读(877) 评论(1)  编辑 收藏 网摘 所属分类: 控件技巧
Body:93.75,BeforeCate:296.875,31.25

Feedback

#1楼 2008-11-22 15:50 kiler      
这样做意义不大,写得程序可读性很差,还不如直接用ado.net查出用DataSet。

其实对于特定的查询,构建几个特定的视图映射到类就行了,没有必要那么复杂。

  回复  引用  查看    

发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 1338970 W4PUAwi+hnA=



相关文章:


相关搜索:
控件技巧

相关链接: