2011-05-27 141 views
1

我有datagridview,我想在其中插入来自文本框a和NumericUpDown框的值,但是我面临的一个问题是插入到datagridview中的这些值不在我指定的列中。将数据添加到DataGridView

这里是我写的代码:

 dataGridView1.Rows.Add(MaterialTextBox.Text); 
     dataGridView1.Rows.Add(HoursNumericUpDown.Value); 
     dataGridView1.Rows.Add(MarkNumericUpDown.Value); 
     dataGridView1.Rows.Add(MarkPoints); 

和方式是计算,我从箱子的NumericUpDown是获取值的呀?

 decimal MarkPoints, x, y; 
     x = HoursNumericUpDown.Value; 
     y = MarkNumericUpDown.Value; 
     MarkPoints = x * y; 

因为当我用这种方式写出来我得到一个错误

小数MarkPoints = HoursNumericUpDown.Value * HoursNumericUpDown.Value;

我觉得这是没有什么不同的答案,例如,让我们

HoursNumericUpDown value is 2 
MarkNumericUpDown value is 3 

在第一种方式,答案是6这是正确的,但在第二个方式,答案是4 什么是错的?

回答

2

则必须指定行的单元格,然后将行添加到DataGridView:

Dim dgvRow As New DataGridViewRow 
    Dim dgvCell As DataGridViewCell 

    dgvCell = New DataGridViewTextBoxCell() 
    dgvCell.Value = MaterialTextBox.Text 
    dgvRow.Cells.Add(dgvCell) 

    dgvCell = New DataGridViewTextBoxCell() 
    dgvCell.Value = HoursNumericUpDown.Value 
    dgvRow.Cells.Add(dgvCell) 

    dgvCell = New DataGridViewTextBoxCell() 
    dgvCell.Value = MarkNumericUpDown.Value 
    dgvRow.Cells.Add(dgvCell) 

    dgvCell = New DataGridViewTextBoxCell() 
    dgvCell.Value = MarkPoints 
    dgvRow.Cells.Add(dgvCell) 

    dataGridView1.Rows.Add(dgvRow)