此项目基于Windows窗体(.NET Framework),C#。
假设我有3个分别命名为值的列表;
List<string> ListAlternatives = new List<string>();
List<string> ListParameters = new List<string>();
List<int> ListWeight = new List<int>();
已经填充了数据。我的目标是将这些列表中的数据插入DataGridView;分为两列参数(传递,速度,...)和权重(1、4,...)和一行替代项(Player1,Player2,...),如下所示。 [替代方案]下的数字将稍后手动插入到DataGridView中(在单元格上用鼠标单击并输入数字),该数据将用于使用权重参数计算总分。
+ ------------ + -------- + --------- + --------- + ------- -+|参数重量Player1 | Player2 | Player3 |+ ------------ + -------- + --------- + --------- + ------- -+|通过| 1 | 2 | 3 | 10 ||速度4 | 8 | 10 | 2 ||年龄| 3 | 1 | 9 | 3 ||射击8 | 4 | 1 | 4 |+ ------------ + -------- + --------- + --------- + ------- -+|总计| -------- | | | |+ ------------ + -------- + --------- + --------- + ------- -+
我已经知道可以通过操作列表来进行计算,但是我无法插入数据。问题是我尝试使用下面的代码导入数据,但是由于索引问题而没有成功。
dataGridView1.Columns.Add("ParameterColumn", "Parameters");
for (int i = 0; i < ListParameters.Count(); i++)
{
DataGridViewRow row = new DataGridViewRow();
row.CreateCells(dataGridView1);
row.Cells[0].Value = ListParameters[i];
dataGridView1.Rows.Add(row);
}
foreach (var item in ListAlternatives)
{
dataGridView1.Columns.Add(item, item);
}
其他问题;
在表中已有数据后,如果我想手动更改权重属性(在DataGridView中单击它们并写入新值),会有任何问题吗?我的目标是创建一些由许多不同值组成的图表。我一直在考虑是否只循环DataGridView并将数据放入新列表中-我将能够使用它们高效地创建图表吗?谢谢你的所有回答
请尝试以下代码,并返回任何错误。
dataGridView1.Columns.Add("ParameterColumn", "Parameters");
dataGridView1.Columns.Add("WeightColumn", "Weight");
for (int i = 0; i < ListAlternatives.Count(); i++)
{
dataGridView1.Columns.Add("Player" + i.ToString() + "Column", "Player " + i.ToString());
}
for (int i = 0; i < ListParameters.Count(); i++)
{
dataGridView1.Rows.Add(ListParameters[i], ListWeight[i]);
}
dataGridView1.Rows.Add("Total");
dataGridView1.Rows[dataGridView1.RowCount - 1].Cells[1].Value = ListWeight.Sum();//This is for getting sum of weights