/// <summary> /// 得到地区的组成名称和组成AID值 /// </summary> /// <param name="sName"></param> /// <param name="Sid"></param> /// <param name="node"></param> private void GetNameAndId(StringBuilder sName, StringBuilder Sid, TreeNode node) { MODEL.Areas ar = node.Tag as MODEL.Areas; //as做类型转换如果转换不成功,不会报错。只是返回null //if(ar ==null) //{ // return; //} //如果有父节点,就继续得到父节点的值,这也是一个递归 if (node.Parent != null) { GetNameAndId(sName, Sid, node.Parent); } sName.Append(ar.AName + "|"); Sid.Append(ar.AID + "|"); }
/// <summary> /// 获取所有地区信息 /// </summary> /// <param name="isDel"></param> /// <returns></returns> public List <MODEL.Areas> GetAllAreasList(bool isDel) { string sql = "select * from areas where adelFlag=@isdel"; SqlParameter p1 = new SqlParameter("isdel", isDel); DataTable dt = SqlHelper.ExcuteTable(sql, p1); List <MODEL.Areas> lists = null; if (dt.Rows.Count > 0) { lists = new List <MODEL.Areas>(); foreach (DataRow row in dt.Rows) { MODEL.Areas a = new MODEL.Areas(); //传递的是引用类型,有方法里面对引用类型的变量进行修改,原始值也会一起发生变化 ,因类传递的不是对象的值,而是对象的引用 ,方法和原始值指向同一个引用 。 LoadEntityData(a, row); lists.Add(a); } } return(lists); }
/// <summary> /// 将地区信息行对象转换为实体类对象 /// </summary> /// <param name="model"></param> /// <param name="dr"></param> private void LoadEntityData(MODEL.Areas model, DataRow dr) { if (dr["AID"].ToString() != "") { model.AID = int.Parse(dr["AID"].ToString()); } model.AName = dr["AName"].ToString(); if (dr["APid"].ToString() != "") { model.APid = int.Parse(dr["APid"].ToString()); } if (dr["ASort"].ToString() != "") { model.ASort = int.Parse(dr["ASort"].ToString()); } if (dr["AAddTime"].ToString() != "") { model.AAddTime = DateTime.Parse(dr["AAddTime"].ToString()); } if (dr["ADelFlag"].ToString() != "") { model.ADelFlag = bool.Parse(dr["ADelFlag"].ToString()); } }