SPlist按PID层级顺序导入datatable

public  static  System.Data. DataTable  GetDataTable(  int  parentId,  SPList  list ,System.Data. DataTable  dt,  int  ceng)
        {
             SPQuery  query =  new  SPQuery ();
            query.Query =  @"<Where>
                          <Eq>
                             <FieldRef Name='PID' />
                             <Value Type='Number'>"  + parentId.ToString() +  @"</Value>
                          </Eq>
                       </Where>"  ;
             SPListItemCollection  items=  list.GetItems(query);
             foreach  ( SPListItem  item  in  items)
            {
                 string  id = item.ID.ToString();
                 string  taskName = ceng.ToString()+ "#"  +item[ "TaskNmae" ].ToString();
                 string  assignedTo =  "DFDSFD"  ;
                     //item["AssignedTo"].ToString().Substring(item["AssignedTo"].ToString().LastIndexOf("#") + 1);
                 string  status = item[ "Status"  ].ToString();
                 string  pID = item[ "PID"  ].ToString();
                dt.Rows.Add(id,taskName, assignedTo, status, pID);
                dt=GetDataTable(item.ID, list, dt,ceng+1);
            }
             return  dt;
        }
 
PID默认为0,层默认为1

你可能感兴趣的:(Datatable)