我正在尝试创建一个应用程序,其中对于datagridview中的每一列,都会询问我想要执行的度量样本的数量。然后,它生成最大数量的样本,并根据我的表将其中一些设置为只读。输出应类似于以下内容:
请注意,我的每一行的尊重措施样本是:2、1、4、5,其中5是该示例中的最大值。
下面是我得到的代码:
nombredemesures = new int[] { };
foreach (DataGridViewRow row in dataGridView2.Rows)
{
if (row.Cells[$"{comboBox1.Text + comboBox2.Text}DataGridViewTextBoxColumn"].Value?.ToString() is "")
{
row.Visible = false;
}
else
{
string result = Interaction.InputBox($"Valeur de :{row.Cells["ItemDataGridViewTextBoxColumn"].Value?.ToString()}", "Title", "Default Text");
nombredemesures = nombredemesures.Concat(new int[] { int.Parse(result) }).ToArray();
}
}
int max = 0;
foreach (int value in nombredemesures)
{
if (value > max)
max = value;
}
int k = 0;
for (int i = 1; i <= max; i++)
{
dataGridView2.Columns.Add($"Test{i}", $"Donée de mesure{i}");
}
var resultt = from DataGridViewRow roww in dataGridView2.Rows select roww.Index;
foreach (var i in resultt)
{
for (int j = max;j>(nombredemesures[k]); j--)
{
dataGridView2.Rows[i].Cells[$"Test{j}"].Style.BackColor = System.Drawing.Color.Red;
}
k++;
}
不幸的是,我被告知我在数组边界之外。有人知道为什么吗?
我试着改变循环的范围,但没用,因为我还没有创建一个“measure sample0”。现在我认为这是数组的问题,但我还不确定。
1条答案
按热度按时间i2byvkas1#
它使用从零开始的索引。您正在使用基于1的索引。
你得换衣服了
到