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             }

 

                    

你可能感兴趣的:(datagrid)