datagridcolumn单元格怎么显示查询到的某个表的字段值(字段值可能为多个)

例如,在之前做的项目中,查询mhz_xckcr表,select出某个业务的现场勘察人信息,select出的现场勘察人姓名(可能有多个)要在前台datagrid的一个datagridcolmn单元格显示出来。

 1.查询表数据,保存到实体类集合list中,并返回list:

 1         /// <summary>
 2         /// 获取现场勘查人列表
 3         /// </summary>
 4         /// <param>业务ID</param>
 5         /// <returns>结果集</returns>
 6         public static List<Mbr_Model> GetKCRList(int id)
 7         {
 8             List<Mbr_Model> list = new List<Mbr_Model>();
 9             string SQLstr = string.Format("select distinct(KCRID),ID,KCRXM from mhz_xckcr a where a.id='{0}'", id);
10             SQLstr += " order by a.kcrid";
11             try
12             {
13                 DataTable table = OracleDBHelp.getDBHelper(OracleDBHelp.DBType.BusinessDB).Query(SQLstr);
14                 foreach (DataRow row in table.Rows)
15                 {
16                     Mbr_Model at = new Mbr_Model();
17                     if (row["id"] != null)
18                         at.ID = Convert.ToInt32(row["id"].ToString());
19                     if (row["kcrid"] != null)
20                         at.KCRID = row["kcrid"].ToString();
21                     if (row["kcrxm"] != null)
22                         at.KCRXM = row["kcrxm"].ToString();
23                     at.ISchecked = true;
24                     list.Add(at);                 
25                 }
26                 return list;
27             }
28             catch (Exception e)
29             {
30                 return null;
31             }
32         }

 

 

2.在业务列表的实体类中添加临时属性:xckcrArray(该业务表本身没有字段xckcrArray)。 然后在业务列表的查询方法中,该属性引用以上方法返回的值即可。

at.xckcrArray =YWBL_BLL.GetKCRList(at.ID); //获取现场勘查人集合。

 

3.  用labelfunction处理datagrid中的一个datagridcolumn单元格显示多字段值。

 1             /**3-2获取-现场勘查人*/
 2             public function XCKCRLabel(item:Object,iCol:int ):String
 3             {
 4               var label_:String = "";                                
 5               var col:ArrayCollection = item.xckcrArray as ArrayCollection;                
 6               for each(var ele:Mbr_Model in col)
 7                {
 8                  label_ = label_ + String(ele.KCRXM)+"\x20";
 9                }              
11                 return label_;                               
13             }

 

                    

posted @ 2014-04-17 16:42  goodgirlmia  阅读(444)  评论(0编辑  收藏  举报
作者:goodgirlmia 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。