使用以下内容:Windows 7,Visual Studio 2013,VB,Bootstrap,Jquery
我是网页设计的新手。
我正在尝试创建一个列表/表格......任何内容......以显示由其部门分组的设备列表。我目前只是列出了部门。表中有4条记录: 部门01中有两个记录,部门02中有两个记录 每个部门都有两台设备。 下面的代码是拉入创建同一部门的多个列表的所有记录:
- 01
- 01
- 02
- 02
我想:
- 01
- Equipment1
- Equipment2
- 02
- Equipment1
- Equipment2
该行:
mUserHistorys = mUserHistorys.OrderBy(Function(x) x.Department_Selected).ToList()
是我从加载页面时加载的内存中的数据中提取的。 我如何获得独特的部门?我尝试了Distinct和GroupBy,但我不相信我正确地放置它们。
Private Sub RenderPage()
Dim HTMLString As String = ""
Dim SortKey As String = "A"
Dim CompareValue As String = ""
Dim SubmitString = ""
mUserHistorys = mUserHistorys.OrderBy(Function(x) x.Department_Selected).ToList()
For Each p In mUserHistorys
SubmitString = "Bookmark:" & p.Department_Selected & "-" & p.Equipment_Selected
HTMLString &= "<table> " & vbCrLf
HTMLString &= "<td>" & p.Department_Selected & "</td>" & vbCrLf
HTMLString &= "</table> " & vbCrLf
Next
Me.literalListHTML.Text = HTMLString
End Sub
答案 0 :(得分:0)
var info = (from b in mUserHistorys
where b.Department_Selected != null
select b).ToList()
.GroupBy(x => x.Department_Selected)
.Select(y => y.First())
.OrderBy(z => z.Department_Selected);
我很幸运使用这个linq查询来获得类似的东西。如果它已经是对象列表,则可以从.GroupBy开始,即
mUserHistorys.GroupBy(x => x.Department_Selected)
.Select(y => y.First())
.OrderBy(z => z.Department_Selected);
答案 1 :(得分:0)
@stuggyg 我最终得到的就是这个。我现在唯一的问题是装备没有提升。但是,非常感谢你的帮助!它帮助我提出了这个代码:
Private Sub RenderPage()
Dim HTMLString As String = ""
Dim SortKey As String = "A"
Dim CompareValue As String = ""
Dim SubmitString = ""
Dim Depts = From dept In mUserHistorys
Select dept.User_ID, dept.Department_Selected, dept.Equipment_Selected
Where User_ID = _user.User_ID
Order By Equipment_Selected Ascending
Group By DeptName = Department_Selected
Into EqInDept = Group
Order By DeptName
HTMLString &= "<div class=""container-float""> " & vbCrLf
For Each p In Depts
HTMLString &= "<a id=""deptheader"" class=""list-group-item"">" & p.DeptName & "" & vbCrLf
For Each r In mUserHistorys
SubmitString = "Bookmark:" & r.Department_Selected & "-" & r.Equipment_Selected
If r.Department_Selected = p.DeptName Then
HTMLString &= "<a id=""equiplist"" class=""list-group-item"" <button id=""iconButton"" onclick=""SubmitNextForm('" & SubmitString & "');"" type=""button"" class=""btn btn-normal""><span class=""glyphicon glyphicon-remove-sign"" ></span></button>" & r.Equipment_Selected & "</a>" & vbCrLf
End If
Next
HTMLString &= "</a> " & vbCrLf
Next
HTMLString &= "</div> " & vbCrLf
Me.literalListHTML.Text = HTMLString
End Sub