protected void Page_Load(object sender, EventArgs e)
{
System.Data.DataTable dt1 = new System.Data.DataTable();
dt1.Columns.Add("column1");
dt1.Columns.Add("column2");
dt1.Rows.Add("3", "8");
dt1.Rows.Add("8", "9");
dt1.Rows.Add("9", "11");
dt1.Rows.Add("9", "13");
dt1.Rows.Add("13", "16");
dt1.Rows.Add("13", "18");
dt1.Rows.Add("18", "20");
dt1.Rows.Add("18", "25");
dt1.Rows.Add("25", "32");
dt1.Rows.Add("32", "36");
dt1.Rows.Add("32", "45");
dt1.Rows.Add("25", "47");
dt1.Rows.Add("47", "49");
dt1.Rows.Add("47", "50");
System.Data.DataTable dtClone = dt1.Copy();
for (int i = 0; i < dt1.Rows.Count; i++)
{
for (int k = 1; k < dtClone.Rows.Count; k++)
{
if (dt1.Rows[i]["column2"].ToString() == dtClone.Rows[k]["column1"].ToString())
{
Response.Write("<br>" + dtClone.Rows[k]["column1"].ToString() + dtClone.Rows[k]["column2"].ToString() + "<br>");
}
}
}
}
希望得到的結果:
column1 column2
3 8
8 50
9 11
13 16
18 20
25 36
32 45
47 49
uj5u.com熱心網友回復:
根據什么規律了,第二組沒看明白uj5u.com熱心網友回復:
你這哪里又遞回?uj5u.com熱心網友回復:
規律如下:拿第二列的 8 去查找第一列等于8的值,由于在第一列中找到8的行,再拿第二列的9,再去查找第一列等于9的值,由于在第一列中找到9的行,再拿第二列的11去找,由于在第一列中沒有找到11的行,就顯示(9, 11),再拿第二列的13去找......以此類推
dt1.Rows.Add("3", "8");
dt1.Rows.Add("8", "9");
dt1.Rows.Add("9", "11");
dt1.Rows.Add("9", "13");
dt1.Rows.Add("13", "16");
dt1.Rows.Add("13", "18");
dt1.Rows.Add("18", "20");
dt1.Rows.Add("18", "25");
dt1.Rows.Add("25", "32");
dt1.Rows.Add("32", "36");
dt1.Rows.Add("32", "45");
dt1.Rows.Add("25", "47");
dt1.Rows.Add("47", "49");
dt1.Rows.Add("47", "50");
uj5u.com熱心網友回復:
沒有形容的這么麻煩,
其實就遞回遍歷所有節點。
這是編譯書的例子,你照著改改https://blog.csdn.net/hanjun0612/article/details/50563136
uj5u.com熱心網友回復:
使用DataTable時,那么可以先distinct欄位column1值,然后遍歷distinct結果,從DataTable中取得column1同值中column2值最小的uj5u.com熱心網友回復:
@正怒月神,參考”Tree 選單 遞回“仍然達不到我想要的功能,請建議,謝謝!轉載請註明出處,本文鏈接:https://www.uj5u.com/net/17946.html
標籤:C#
