Почему в моем списке ничего не отображается? C # - PullRequest
0 голосов
/ 15 ноября 2018

Предполагается, что моя программа берет имена команд из файла XML и отображает их в списке, а когда команда выбирается из списка, игроки с более высоким средним уровнем в команде отображаются в виде сетки данных. По какой-то причине в моем списке ничего не отображается, и поэтому я не могу ничего выбрать и проверить, работает ли моя программа.

public partial class Form1 : Form
{
    DataSet resultset = new DataSet();
    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        resultset.ReadXml("Baseball.xml");

        var myQuery = resultset.Tables[0].AsEnumerable().Select(row => new
        {
            teamname = row.Field<string>("Team")
        })
        .Distinct();

        foreach (var rowname in myQuery)
        {
            listBox1.Items.Add(rowname.teamname.ToString());
        }
    }
    private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
    {
        double TotalhitsAverage, TotalatBatAverage, TeamAverage;
        DataTable playerInformation = new DataTable();
        DataRow[] tableName = resultset.Tables[0].Select("Team = '" + listBox1.SelectedItem + "'");

        playerInformation = tableName.CopyToDataTable();
        DataTable clonedcolumns = playerInformation.Clone();

        clonedcolumns.Columns[3].DataType = typeof(double);
        clonedcolumns.Columns[2].DataType = typeof(double);

        foreach (DataRow row in playerInformation.Rows)
        {
            clonedcolumns.ImportRow(row);
        }

        TotalhitsAverage = clonedcolumns.AsEnumerable().Average(r => r.Field<double>("hits"));

        TotalatBatAverage = clonedcolumns.AsEnumerable().Average(r => r.Field<double>("atBats"));

        TeamAverage = TotalhitsAverage / TotalatBatAverage;

        DataTable playerAverage = new DataTable();
        DataRow rowPlayer = playerAverage.NewRow();

        playerAverage.Columns.Add("Player", typeof(String));
        playerAverage.Columns.Add("Batting Avg", typeof(double));

        for (int i = 0; i < clonedcolumns.Rows.Count; i++)
        {
            double averageplayer = Convert.ToDouble(clonedcolumns.Rows[i][3]) / Convert.ToDouble(clonedcolumns.Rows[i][2]);

            if (TeamAverage <= averageplayer)
            {
                playerAverage.Rows.Add(clonedcolumns.Rows[i][0].ToString(), Math.Round(averageplayer, 4));
            }
        }
        DataView view = playerAverage.DefaultView;
        view.Sort = "Batting Avg DESC";
        DataTable sortedDate = view.ToTable();
        dgvBaseball.DataSource = sortedDate;
        dgvBaseball.AutoSize = true;

    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...