#c# #asp.net #linq #treeview
#c# #asp.net #linq #просмотр дерева
Вопрос:
я использую этот код для заполнения моего treeview
var query = data.GroupBy(item => item.Column1)
.Select(group => group.GroupBy(item => item.Column2))
.Select(group => group.Select(innerGroup =>
innerGroup.GroupBy(item => item.Column3)));
и эти предварительные коды
foreach (var outermostGroup in query)
{
//add node for outermostGroup's key
foreach (var middleGroup in outermostGroup)
{
//add child node of the above node for middleGroup key
foreach (var innerGroup in middleGroup)
{
//add child node of the above node for innerGroup key
}
}
}
но я получаю ошибку, пытаясь получить ключ из outermostgroup и middleGroup Key, но не из InnerGroup, я не знаю, что происходит.
например.
foreach (var outermostGroup in query)
{
var node= new System.Web.Ui.WebControls.TreeNode(outermostGroup.Key)//here doesnt reconize me the key
foreach (var middleGroup in outermostGroup)
{
var node= new System.Web.Ui.WebControls.TreeNode(middleGroup.Key)//here doesnt reconize me the key
foreach (var innerGroup in middleGroup)
{
var node= new System.Web.Ui.WebControls.TreeNode(innerGroup.Key)//here recononize me the Key
}
}
}
Ответ №1:
Вам нужно написать что-то вроде этого:
foreach (var outermostGroup in data.GroupBy(item => item.Column1))
{
var node1 = new System.Web.Ui.WebControls.TreeNode(outermostGroup.Key);
foreach (var middleGroup in outermostGroup.GroupBy(group => group.Column2))
{
var node2 = new System.Web.Ui.WebControls.TreeNode(middleGroup.Key);
foreach (var innerGroup in middleGroup.GroupBy(group => group.Column3))
{
var node3 = new System.Web.Ui.WebControls.TreeNode(innerGroup.Key);
}
}
}