C# 根据一个其中的一个值获取到对应的数据列表

public Entity.ResultObj GetCarTakRenl(string Imei, string start, string end, int page,int uid)
        {
            DataSet ds;
            int RecordCount = 0;
            int PageCount = 0;
            int PageSize = 6;
            string sqlwhere;
            start = start.Replace("/", "-");
            end = end.Replace("/", "-");
             Model.Person.pmEquipmentMap m = eqBLL.GetModelList("Imei='" + Imei + "' and uid=" + uid + " and ParentUid=0").FirstOrDefault();
            if (m != null)
            {
                sqlwhere = "l.Imei='" + Imei + "' and l.CarState=2";
                if (start != "" || end != "")
                    sqlwhere += "and CONVERT(varchar(100), l.DateStart, 23)>='" + start + "' and CONVERT(varchar(100), l.DateEnd, 23)<='" + end + "' and TrackState=1";
            }
            else
            {
                sqlwhere = "l.Imei='" + Imei + "'and l.uid=" + uid;
                if (start != "" || end != "")
                    sqlwhere += "and CONVERT(varchar(100), l.DateStart, 23)>='" + start + "' and CONVERT(varchar(100), l.DateEnd, 23)<='" + end + "' and TrackState=1";
            }
            cBLL.GetCarTktaList(page, PageSize, sqlwhere, out ds, out RecordCount, out PageCount);
            Entity.carTrackLog ctk;
            Dictionary<string, List<object>> lists = new Dictionary<string, List<object>>();
            List<object> datas = new List<object>();
            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                List<object> list = new List<object>();
                string key = Convert.ToDateTime(dr["DateStart"]).ToString("yyyy-MM-dd");//关键的kay

                Datas dts = datas.Find(o => ((Datas)o).time == key) as Datas;
                if (dts == null)
                {
                    dts = new Datas();
                    dts.time = key;
                    datas.Add(dts);
                }
                ctk = new Entity.carTrackLog();
                ctk.Id = Convert.ToInt32(dr["id"].ToString());
                ctk.Imei = dr["Imei"].ToString();

                if (!string.IsNullOrEmpty(dr["DateStart"]+""))
                    ctk.DateStart = Convert.ToDateTime(dr["DateStart"]).ToString("yyyy-MM-dd HH:mm:ss");

                if (!string.IsNullOrEmpty(dr["DateEnd"]+""))
                    ctk.DateEnd = Convert.ToDateTime(dr["DateEnd"]).ToString("yyyy-MM-dd HH:mm:ss");

                decimal Mileage;
                if (decimal.TryParse(dr["Mileage"] + "", out Mileage))
                    ctk.Mileage = Mileage;
                else
                    ctk.Mileage = 0;
               

                if (!string.IsNullOrEmpty(dr["Time"]+""))
                    ctk.Time = Convert.ToInt32(dr["Time"]);

                int Speed;
                if (int.TryParse(dr["Speed"] + "", out Speed))
                    ctk.Speed = Speed;
                else
                    ctk.Speed = 0;

                ctk.NickName = dr["NickName"].ToString();

                if (!string.IsNullOrEmpty(dr["DateCreated"]+""))
                    ctk.DateCreated = Convert.ToDateTime(dr["DateCreated"]).ToString("yyyy-MM-dd HH:mm:ss");

                dts.lists.Add(ctk);
            }
            Entity.PageInfo p = new Entity.PageInfo();
            p.content = datas;
            p.totalPages = PageCount;
            p.totalElements = RecordCount;
            return new Entity.ResultObj(true, p);
        }
        public class Datas
        {
            public string time;
            public List<object> lists = new List<object>();
        }
原文地址:https://www.cnblogs.com/shanshuiYiCheng/p/10514725.html