百度了,说是覆盖掉了前面的,展示的时候就是最后一条数据,也就一条。说要new一个,可是不行。大佬们,帮我看看,谢谢(*°∀°)
你能拍照片,为何不能直接贴出代码呢?图片不太清楚,大概知道,你想存储用户信息,但是你循环所有,最后结果被覆盖,只能显示一条,你要存数据,可以用datatable,list都行。将你得到的数据list.items.add(); 然后展示。http://blog.csdn.net/qq_23126581/article/details/77894645
完全看不清楚,能把源码贴出来吗
我就想知道 你明明可以截屏的为什么要像素差到爆的手机拍一张你自己都看不清楚的照片来提问题
把展示信息的代码也写进foreatch里面
真的谢谢大家了,问题早就解决了,发的帖我给忘了!没有第一时间回复大家消息,抱歉了。
这个功能当时是要,当选择了日期(日期不是本月1号)并且选择了部门,就把符合这个时间段并且是选择的这个部门人员给列出来,可是在选择的部门下拉列表中
有“所有”,反正就是,有多重条件判断,日期下拉不是本月1号,代表要查询并且再判断部门下拉选择的部门,如果选择的下拉列表部门为"所有"再根据
选择的日期下拉(开始日期-结束日期),找出符合这个时间段的所有部门人员。上面贴的代码,实现出来有些问题,最后改了改。代码可能有些冗余,不过
功能100%没问题。好了,再次感谢大家的回复。。。贴代码:
 this.LaborContractList = IFactory.Instance<ILaborBLL>().GetAll().Where
(a => ((a.Time >= Convert.ToDateTime(barEditItem1.EditValue))
&& (a.LaTimeS <= Convert.ToDateTime(barEditItem2.EditValue))
&& a.User.Department.Depname == barEditItem4.EditValue.ToString())).ToList();
string adtime = DateTime.Now.AddDays(-DateTime.Now.Day + 1).ToString("yyyy/MM/dd");
string GridLooktext = this.barEditItem4.EditValue.ToString();
if (GridLooktext == "所有" && Convert.ToDateTime(barEditItem1.EditValue) == Convert.ToDateTime(adtime))
{
UList = IFactory.Instance<IUserBLL>().GetAll().ToList();
BindingList<User> bindList = new BindingList<User>(this.UList);
this.gridControl2.DataSource = bindList;
reflabor();
return;
}
else if (GridLooktext == "所有" && Convert.ToDateTime(barEditItem1.EditValue) != Convert.ToDateTime(adtime))
{
List<User> ac = new List<User>();
ArrayList al = new ArrayList();
foreach (var item in LaborContractList)
{
List<User> laborlist2 = IFactory.Instance<IUserBLL>().GetAll().Where
(o => (item.Time >= Convert.ToDateTime(barEditItem1.EditValue))
&& (item.LaTimeS <= Convert.ToDateTime((barEditItem2.EditValue)))).ToList();
bool tools = ((IList)al).Contains(item.Userid);
if (!tools)
{
al.Add(item.Userid);
User bb = item.User;
ac.Add(bb);
}
}
gridControl2.DataSource = ac;
reflabor();
}
else if (Convert.ToDateTime(barEditItem1.EditValue) == Convert.ToDateTime(adtime))
{
UList = IFactory.Instance<IUserBLL>().GetAll().Where(a => a.Department.Depname == GridLooktext).ToList();
BindingList<User> bindList = new BindingList<User>(this.UList);
this.gridControl2.DataSource = bindList;
reflabor();
return;
}
if (LaborContractList.Count > 0 || Convert.ToDateTime(barEditItem1.EditValue) == Convert.ToDateTime(adtime))
{
if (barEditItem4.EditValue.ToString() == "所有" && Convert.ToDateTime(barEditItem1.EditValue) == Convert.ToDateTime(adtime))
{
UList = IFactory.Instance<IUserBLL>().GetAll().ToList();
BindingList<User> bindList = new BindingList<User>(this.UList);
this.gridControl2.DataSource = bindList;
reflabor();
return;
}
else
{
List<User> ac = new List<User>();
ArrayList al = new ArrayList();
foreach (var item in LaborContractList)
{
List<User> laborlist2 = IFactory.Instance<IUserBLL>().GetAll().Where
(o => o.ID == item.Userid && o.Department.Depname ==
barEditItem4.EditValue.ToString() && (item.Time >= Convert.ToDateTime(barEditItem1.EditValue))
&& (item.LaTimeS <= Convert.ToDateTime((barEditItem2.EditValue)))).ToList();
if (laborlist2.Count > 0)
{
bool tools = ((IList)al).Contains(item.Userid);
if (!tools)
{
al.Add(item.Userid);
User bb = item.User;
ac.Add(bb);
}
}
}
gridControl2.DataSource = ac;
reflabor();
return;
}
}
if (barEditItem4.EditValue.ToString() == "所有" && Convert.ToDateTime(barEditItem1.EditValue) != Convert.ToDateTime(adtime))
{
this.LaborContractList = IFactory.Instance<ILaborBLL>().GetAll().Where
(a => ((a.Time >= Convert.ToDateTime(barEditItem1.EditValue))
&& (a.LaTimeS <= Convert.ToDateTime(barEditItem2.EditValue)))).ToList();
List<User> ac = new List<User>();
ArrayList al = new ArrayList();
foreach (var item in LaborContractList)
{
List<User> laborlist2 = IFactory.Instance<IUserBLL>().GetAll().Where
(o => (item.Time >= Convert.ToDateTime(barEditItem1.EditValue))
&& (item.LaTimeS <= Convert.ToDateTime((barEditItem2.EditValue)))).ToList();
if (laborlist2.Count > 0)
{
bool tools = ((IList)al).Contains(item.Userid);
if (!tools)
{
al.Add(item.Userid);
User bb = item.User;
ac.Add(bb);
}
}
}
gridControl2.DataSource = ac;
reflabor();
return;
}
else
{
gridControl1.DataSource = null;
gridControl2.DataSource = null;
}