xml - XML 文件未显示在 Datagrid 视图 Visual Basic 中
问题描述
我应该输出每个球员的全名和击球率的显示。
我可以让 XML 文件在列表框中显示团队名称,但是当涉及到数据网格视图时,只显示列标题。
在尝试显示球员姓名和击球率方面,我哪里出错了?
Public Class frmBaseball
Dim baseballdata As XElement = XElement.Load("Baseball.xml")
Private Sub frmBaseball_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' get team names from base ball data and filters by player
Dim teamQuery = From player In baseballdata.Descendants("player")
Let teamName = player.<team>.Value
Order By teamName Ascending
Select teamName
Distinct
' displays team names in listbox
lstTeams.DataSource = teamQuery.ToList
End Sub
Private Sub lstTeams_SelectedIndexChanged(sender As Object, e As EventArgs) Handles lstTeams.SelectedIndexChanged
' Puts the player name and batting whose average was above the norm of team mates
Dim selectedteam = lstTeams.Text
Dim averagequery = From player In baseballdata.Descendants("player")
Let teamName = player.<team>.Value
Let hit = CDbl(player.<hits>.Value)
Let atbats = CDbl(player.<atbats>.Value)
Let playeraverage = hit / atbats
Where teamName = lstTeams.Text
Select playeraverage
Dim teamaverage As Double = averagequery.Average
Dim playerQuery = From player In baseballdata.Descendants("player")
Let playername = player.<name>.Value
Let teamName = player.<team>.Value
Let playeratbats = CDbl(player.<atbats>.Value)
Let playerhits = CDbl(player.<hits>.Value)
Let playeraverage = playerhits / playeratbats
Let formattedPlayerAverage = FormatNumber(playeraverage, 3)
Where teamName = selectedteam And playeraverage > teamaverage
Order By formattedPlayerAverage Descending
Select playername, formattedPlayerAverage
' Display player details in the data grid view
dgvDisplay.DataSource = playerQuery.ToList
dgvDisplay.CurrentCell = Nothing
' Set Column names to data grid view
dgvDisplay.Columns("playername").HeaderText = "Player"
dgvDisplay.Columns("formattedPlayerAverage").HeaderText = "Batting Average"
End Sub
End Class
XML 文件示例:
<?xml version="1.0"?>
<!-- This file contains data on major league baseball players.-->
<Major_League_Baseball>
<player>
<name>Miguel Cabrera</name>
<team>Tigers</team>
<atBats>429</atBats>
<hits>145</hits>
</player>
<player>
<name>Dee Gordon</name>
<team>Marlins</team>
<atBats>615</atBats>
<hits>205</hits>
</player>
<player>
<name>Bryce Harper</name>
<team>Nationals</team>
<atBats>521</atBats>
<hits>172</hits>
</player>
<player>
<name>Paul Goldschmidt</name>
<team>Diamondbacks</team>
<atBats>567</atBats>
<hits>182</hits>
</player>
<player>
<name>Xander Bogaerts</name>
<team>Red Sox</team>
<atBats>613</atBats>
<hits>196</hits>
</player>
<player>
<name>Buster Posey</name>
<team>Giants</team>
<atBats>557</atBats>
<hits>177</hits>
</player>
<player>
<name>A.J. Pollock</name>
<team>Diamondbacks</team>
<atBats>609</atBats>
<hits>192</hits>
</player>
<player>
<name>Yunel Escobar</name>
<team>Nationals</team>
<atBats>535</atBats>
<hits>168</hits>
</player>
<player>
<name>Joey Votto</name>
<team>Reds</team>
<atBats>545</atBats>
<hits>171</hits>
</player>
<player>
<name>Jose Altuve</name>
<team>Astros</team>
<atBats>638</atBats>
<hits>200</hits>
</player>
<player>
<name>David Peralta</name>
<team>Diamondbacks</team>
<atBats>462</atBats>
<hits>144</hits>
</player>
<player>
<name>Michael Brantley</name>
<team>Indians</team>
<atBats>529</atBats>
<hits>164</hits>
</player>
<player>
<name>Lorenzo Cain</name>
<team>Royals</team>
<atBats>551</atBats>
<hits>169</hits>
</player>
</Major_League_Baseball>
解决方案
我不是 XML 专家,但是,代码似乎获得了无限的价值,teamaverage.
因为它teamaverage
是“无穷大”,那么所有玩家的平均值不会大于“无穷大”,并且在给定“Where”子句的情况下不会产生任何玩家.
Where teamName = selectedteam And playeraverage > teamaverage
在我的小测试中,出现这种情况的原因是代码中的拼写错误。
在这两个查询中,代码都有……</p>
Let atbats = CDbl(player.<atbats>.Value)
和
Let playeratbats = CDbl(player.<atbats>.Value)
根据提供的 XML,这应该是atBats
大写的“B”。在此更改之后,代码按预期工作。
Let atbats = CDbl(player.<atBats>.Value)
Let playeratbats = CDbl(player.<atBats>.Value)
推荐阅读
- python - 删除非 ASCII 字符
- python - matplotlib 中不同宽度和颜色的条形图(Bar Mekko 图表)
- azure-active-directory - Microsoft Graph 限制成员
- database - 连接 MongDb 并更新值
- python - 无法将具有自定义图层的 keras 模型保存到 tf lite 文件
- python - 在 dplyr 中是否有类似的 pandas/numpy 函数与 ifelse 语句中的 group_by 领先/滞后?
- neural-network - 如何在 PyTorch 中的 torch.nn.Conv2d 层之后获得 5 维输出?
- angular - ng 测试的问题,其中应用程序确实依赖于 devextreme-angular
- mongodb - MongoDB shell 查找查询
- javascript - 有没有适合这个问题的数据结构或优化?