title             father         haschild
root       NONE       y
百货类     root       n
食品类     root       y
文体类     root       n
药品类     root       y
烟酒       食品类     n
冷饮       食品类     n
糕点       食品类     n
矿泉水     食品类     n
妇科药     药品类     n
感冒药     药品类     n
胃药       药品类     n
止痛药     药品类     n
public DataTable ShowTable()
{
         string strTitle;
         string strChild;
int k = 1;

for(int i = k;i<numRows;i++)
{

         strFather = dt.Rows[i]["father"].ToString().Trim();
if( strRoot == strFather)
{  
DataRow dr = dt2.NewRow();
dr[0] = dt.Rows[i]["title"].ToString().Trim();
dt2.Rows.Add(dr);

strChild = dt.Rows[i]["haschild"].ToString().Trim();
while(strChild == "y")
{
strTitle = dt.Rows[i]["title"].ToString().Trim();
strRoot = strTitle;
tempRoot = dt.Rows[i]["father"].ToString().Trim();
ShowTable();
k = i;

strRoot = tempRoot;
                         
}

}


}
return dt2;
}
不知道哪里有问题?