0
我有一個dataGridView與3列(城市,subcity,citycode)和每個數據!我想的dataGridView列的值(城市)中的一個來填補樹的父母,並通過「subCity」列的值 填補樹的孩子請 感謝如何通過datagridview的數據填充樹視圖
我有一個dataGridView與3列(城市,subcity,citycode)和每個數據!我想的dataGridView列的值(城市)中的一個來填補樹的父母,並通過「subCity」列的值 填補樹的孩子請 感謝如何通過datagridview的數據填充樹視圖
幫助我,我認爲它的未知其subcities屬於哪個城市。
如果您沒有任何其他數據模型,我將遍歷數據網格的所有行並在Dictionary>中收集數據。關鍵將是城市和價值的一個子集合。現在你可以注意到這個dicionary,併爲父節點和值的每個元素添加一個foreach鍵爲一個子節點。
這是一個直接的方法,我相信你也可以用LINQ來做到這一點。
編輯:
treeView1.Nodes.Clear();
Dictionary<string, List<string>> dict = new Dictionary<string, List<string>>();
foreach (DataGridViewRow row in dataGridView1.Rows)
{
string city = (string)row.Cells[0].Value;
string subCity = (string)row.Cells[1].Value;
if (city == null || subCity == null)
continue;
if (dict.ContainsKey(city))
{
dict[city].Add(subCity);
}
else
{
dict.Add(city, new List<string>());
dict[city].Add(subCity);
}
}
foreach (var kvp in dict)
{
TreeNode parent = new TreeNode(kvp.Key);
foreach (string subCity in kvp.Value)
{
parent.Nodes.Add(subCity);
}
treeView1.Nodes.Add(parent);
}
感謝ü可以幫我一個示例代碼? C#語法將幫助我更多:) – san 2011-03-08 08:01:38
var類型未定義在C#中可以設置另一個變量類型而不是它? – san 2011-03-08 08:42:59
var kvp == KeyValuePair> 請注意,這只是一個示例代碼,如果您在生產代碼中需要它,那麼您最好重寫樣本。 –
MBulli
2011-03-08 08:53:22