我试图创建一个程序,一次选择第1行并打印消息框中的特定列,但输出只是第一项,将根据我的datagridview中的行数重复 . 谁知道我失踪了什么?提前致谢
dgvCart是我的datagridview
private void button1_Click_2(object sender,EventArgs e){
for(int i = 0; i <dgvCart.Rows.Count; i)
{
dgvCart.ClearSelection();
dgvCart.Rows [i] .Selected = true;
if(dgvCart.SelectedCells.Count> 0)
{
int selectedrowindex = dgvCart.SelectedCells [i] .RowIndex;
DataGridViewRow selectedRow = dgvCart.Rows [selectedrowindex];
string _name = Convert.ToString(selectedRow.Cells [“Column1”] . Value);
decimal quantity = Convert.ToDecimal(selectedRow.Cells [“Column3”] . Value);
MessageBox.Show(“NAME:”“Quantity:” _quantity.ToString());
dgvCart.Rows [i] .Selected = false;
}
// string _name = dgvCart.CurrentRow.Cells [0] .Value.ToString();
// decimal _quantity = Convert.ToDecimal(dgvCart.CurrentRow.Cells [2] .Value.ToString());
}
}
2 回答
我只是复制粘贴你的代码,它按照你想要的输出工作正常 . 请看下面的代码:
IF YOU WANT TO SHOW ONLY SELECTED ROWS OF GRID THEN TRY THIS
foreach(Data.dridViewRow在this.dataGridViewX1.Rows中的行)
IF YOU WANT TO SHOW ALL ROWS DATA
然后使用该代码
foreach(this.dataGridViewX1.Rows中的DataGridViewRow行)