2011-05-27 83 views
0

我有一个NumericUpDown框,根据它的值,我想将该字母插入DataGridView。这是我的代码,但它不会插入到我想要的列中。datagridview和NumericUpDown?

if (MarkNumericUpDown.Value < 50) 
{ 
    //dataGridView1.Rows.Add("F"); 
} 
else if (MarkNumericUpDown.Value > 50 && MarkNumericUpDown.Value <= 64) 
{ 
    //dataGridView1.Rows.Add("D"); 
} 
else if (MarkNumericUpDown.Value > 64 && MarkNumericUpDown.Value <= 68) 
{ 
    //dataGridView1.Rows.Add("D+"); 
} 
else if (MarkNumericUpDown.Value > 68 && MarkNumericUpDown.Value <= 72) 
{ 
    //dataGridView1.Rows.Add("C-"); 
} 
else if (MarkNumericUpDown.Value > 72 && MarkNumericUpDown.Value <= 76) 
{ 
    //dataGridView1.Rows.Add("C"); 
} 
else if (MarkNumericUpDown.Value > 76 && MarkNumericUpDown.Value <= 80) 
{ 
    //dataGridView1.Rows.Add("C+"); 
} 
else if (MarkNumericUpDown.Value > 80 && MarkNumericUpDown.Value <= 84) 
{ 
    //dataGridView1.Rows.Add("B-"); 
} 
else if (MarkNumericUpDown.Value > 88 && MarkNumericUpDown.Value <= 92) 
{ 
    //dataGridView1.Rows.Add("B"); 
} 
else if (MarkNumericUpDown.Value > 92 && MarkNumericUpDown.Value <= 96) 
{ 
    //dataGridView1.Rows.Add("B+"); 
} 
else if (MarkNumericUpDown.Value > 96 && MarkNumericUpDown.Value <= 100) 
{ 
    //dataGridView1.Rows.Add("A-"); 
} 
+1

是什么发生呢?你想要发生什么? – 2011-05-27 14:43:23

+0

发生什么事情是,该信插入wrrong行和单元人 和我想要的是纠正它,以将其插入其真正的柱子:( – sam 2011-05-27 15:18:09

+0

对,但是你希望哪个单元格在每种情况下进入?我们不能看到你的桌子,我们也不知道你想要这些信件去哪里。 – 2011-05-27 15:27:28

回答

1

我怀疑你是更感兴趣的Cells值,而不是Rows值。尝试是这样的:

 if (MarkNumericUpDown.Value < 50) 
     { 
      int index = dataGridView1.Rows.Add(); 
      dataGridView1.Rows[index].Cells[1].Value = "F"; 
     } 
     else if (MarkNumericUpDown.Value > 50 && MarkNumericUpDown.Value <= 64) 
     { 
      int index = dataGridView1.Rows.Add(); 
      dataGridView1.Rows[index].Cells[2].Value = "D"; 
     } 

更新: 看你的照片,它看起来像你只关心编辑一行,并且不添加一行。如果是这样的话,你需要跟踪哪一行的,你关心和列中,您所关注的(请更改变量名的东西,更有意义,您的应用程序):

int indexOfRowICareAbout = 0; 
int indexOfColumnIStoreLettersIn = 4; //Judging by your picture 

if (MarkNumericUpDown.Value < 50) 
{ 
    dataGridView1.Rows[indexOfRowICareAbout].Cells[indexOfColumnIStoreLettersIn].Value = "F"; 
} 
else if (MarkNumericUpDown.Value > 50 && MarkNumericUpDown.Value <= 64) 
{ 
    dataGridView1.Rows[indexOfRowICareAbout].Cells[indexOfColumnIStoreLettersIn].Value = "D"; 
} 
+0

谢谢你,但不是在代码中工作我写的信插入在下一行和第一个单元格 和ur代码已移动它的一个单元格,所以它插入下一行但第二个单元格 – sam 2011-05-27 15:23:19

+0

您不必使用我用过的列索引值。我只是举了一个例子。 – msergeant 2011-05-27 15:27:24

+0

当然我试图改变的价值观,但所有的变化只是细胞不是行... 它没有插在同一行应该在哪里 – sam 2011-05-27 15:46:18