public void InitRptAudit() { WFInstanceMainService wFInstanceMainService = new WFInstanceMainService(); WFInstanceService source = new WFInstanceService(); System.Collections.Generic.IList <WFInstanceMain> byInstanceCode = wFInstanceMainService.GetByInstanceCode(this.ic); System.Collections.Generic.List <WFInstance> list = new System.Collections.Generic.List <WFInstance>(); foreach (WFInstanceMain im in byInstanceCode) { System.Collections.Generic.List <WFInstance> list2 = ( from i in source where i.ID == (int?)im.ID && i.AuditResult == (int?)1 orderby i.AuditDate descending select i).ToList <WFInstance>(); foreach (WFInstance current in list2) { if ((im.ID == byInstanceCode.Last <WFInstanceMain>().ID || current.Sing.Value != -1) && !string.IsNullOrEmpty(this.GetNamePath(current.Operator))) { list.Add(current); } } } if (list.Count > 0) { this.rptAudit.DataSource = list; this.rptAudit.DataBind(); } }