ID CropCode CropName CropStageCode CropStageName
032f27f3-142b-491a-88b6-6527a001dda8 01 水稻 03 有穗分化期
032f27f3-142b-491a-88b6-6527a0025da8 01 水稻 05 灌浆成熟期
032f27f3-142b-491a-88b6-6527a002dda8 01 水稻 04 抽穗扬花期
032f27f3-142b-491a-88b6-6537a001bda8 01 水稻 01 苗期
032f27f3-142b-491a-88b6-6537a001dda8 01 水稻 02 分蘖期
87bfebde-9f44-4b1e-ae94-b651cf5a8888 03 大豆 06 成熟期
87bfebde-9f44-4b1e-ae94-b651cf5ab583 03 大豆 03 分枝期
87bfebde-9f44-4b1e-ae94-b651cf5ab883 03 大豆 04 开花期
87bfebde-9f44-4b1e-ae94-b651cf5ab888 03 大豆 05 结荚鼓粒期
87bfebde-9f44-4b1e-ae94-b651cf5aba83 03 大豆 02 幼苗期
87bfebde-9f44-4b1e-ae94-ba51cf5aba83 03 大豆 01 种子萌发期
12f5780d-180d-4597-bcc4-e6b95ba43b3a 03 玉米 06 成熟
72f5780d-180d-4597-bcc4-e6b95ba43b3a 02 玉米 05 吐丝
79f5780d-180d-4597-bcc4-e6b95ba43b3a 02 玉米 04 开花
79f5780d-180d-4597-bcc4-e6b95ba4ab3a 02 玉米 03 抽雄
79f5780d-180d-4597-bcc4-e6b95bc4ab3a 02 玉米 02 拔节
79f5780d-180d-4597-bcc4-e6b95bc4db3a 02 玉米 01 出苗如上面所示,我查询出来了整个数据,
var result = cropBll.GetModelList(qB);放在集合result 中,我想把重复的项去掉,并且把这个集合绑定到dropdownlist,
ddlGrow.DataSource = result ;
ddlGrow.DataTextField = "CropName";
ddlGrow.DataValueField = "CropCode";,
linq怎么写
Linq的Distinct就可以,不过需要自定义比较规则。
var re = (from v in result select v.CropName).Distinct().ToList();
ddlGrow.DataSource = re;
ddlGrow.DataTextField = "CropName";
ddlGrow.DataValueField = "CropCode";
ddlGrow.DataBind();
现在提示
DataBinding:“System.String”不包含名为“CropName”的属性。
说明: 执行当前 Web 请求期间,出现未经处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Web.HttpException: DataBinding:“System.String”不包含名为“CropName”的属性。
源错误:
行 229: ddlGrow.DataTextField = "CropName"; 行 230: ddlGrow.DataValueField = "CropCode"; 行 231: ddlGrow.DataBind(); 行 232: 行 233: BindDropDownList(ddlQualityProgram, "QualityProgram"); |
具体怎么写?
@lctk: 这样肯定不对。。参考:http://www.cnblogs.com/tianfan/archive/2010/03/06/how-to-use-linq-methods-to-compare-objects-of-custom-types.html,很详细。
用linq的Distinct()方法,跟sql语句中distinct关键字一样的效果。
楼主可以参考一下代码