2011-05-27 85 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