[已解决问题] Ilist<T> 的绑定问题
提问时间: 2008-03-11 22:58
悬赏分:20 浏览:498 次

话接昨日问题续
select * from

company left join company_name_hist

on company.Company_ID = company_name_hist.Company_ID

where company_name_hist.Co_Name like '111'
or
company.Co_Name like '111'
===
company 和 company_name_hist是one to many的
==
用criteria 是
session.CreateCriteria(typeof(company), "cp")
.CreateCriteria("company_name_hist", "cph", JoinType.LeftOuterJoin)
.Add(Expression.Expression.Or(Expression.Like("cp.Co_Name", "111"), Expression.Like("cph.Co_Name", "111")))
.List();
=================
ConvertToGenericList(criteria.List());会得到ILIST<>
类型,但是gridview绑定的时候有的列是company上的 有的是
company_name_hist是上的,我直接写company上的字段没问题
但是写上company_name_hist上的字段companyNo就出现

在选定的数据源上未找到名为“companyNo”的字段或属性的错误
---
上述criteria写法我已经按照配置文件的写好了,cirteria调试通过
已经one to many 映射好了
    <bag name="ListCompanyNameHist" generic="true" inverse="true" cascade="none" lazy="true">
            <key column="Company_ID"/>
            <one-to-many class="CompanyNameHist,App_Code" />
        </bag>



提问者:阿布郎 - 初学一级
最佳答案
嘖,注意,返回的是IList<company>類型,每一個company都會有“一組company_name_hist”,在這種情況,怎么可以是有些字段綁定到company_name_hist的字段上去呢?這是不合邏輯的,假定你想顯示每個公司的所有“曾用名”的話,那正確的思路應該是針對company的ListCompanyNameHist這個集合進行處理,而不是針對CompanyNameHist的字段處理。
Gridview控件幾乎沒用過,所以沒辦法提出太具體的建議,希望你能看得懂咯。
2008/3/12 11:35:24 回答者:Klesh Wong


提问者对于答案的评价:再次感谢
其它回答(1)
要加表前缀吧~~
4个月前   回答者:沙加 - 老鸟四级
评论
   您需要登录以后才能回答!
我的问题    我要提问


快到期问题

> 问题排行榜

有不合适内容,建议去除