表:
TypeID TypeName ParetnID 1 a1 0 2 a2 1 3 a3 2 4 a4 3 5 b1 0 6 b2 5 7 b3 6 |
从当前ID获取其第一级别父类ID
private void GetParentID( int parentID,ref int iTypeID ) { iTypeID = 0; DataTable dt = ViewState["dt"] as DataTable; DataRow[] FirstType = dt.Select("ParentID = 0");
//其父类是否为第一级别 for (int i = 0; i < FirstType.Length; i++) { if (parentID == (int)FirstType[i]["TypeID"]) { iTypeID = (int)FirstType[i]["TypeID"]; break; } }
//是否已经获得第一级类别ID if (iTypeID != 0) { return; }
foreach (DataRow dr in dt.Rows) { //获取父类ID,并继续遍历 if ((int)dr["TypeID"] == parentID) { GetParentID((int)dr["ParentID"], ref iTypeID); } } } |