如何在datagridview中一次选择第1行并使用消息框显示

时间:2018-10-24 07:35:44

标签: c# visual-studio datagridview

我正在尝试创建一个程序,一次选择第1行并在消息框中打印特定的列,但输出只是第一项,并且将根据datagridview中的行数重复进行输出。有人知道我想念什么吗?预先感谢

dgvCart是我的datagridview

  

private void button1_Click_2(对象发送者,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 个答案:

答案 0 :(得分:1)

如果您只想显示选中的行,然后尝试

foreach(this.dataGridViewX1.Rows中的DataGridViewRow行)

        {
            if (Rows.Selected)
            {
                MessageBox.Show("NAME: " +Rows.Cells[0].Value +  "Quantity: " + Rows.Cells[1].Value);

            }
        }

要显示所有行数据

使用代码时

foreach(this.dataGridViewX1.Rows中的DataGridViewRow行)

        {
            if (rows.IsNewRow) { }
            else {
                MessageBox.Show(rows.Cells[0].Value.ToString() + "','" + rows.Cells[1].Value.ToString()) ;
                }
        }

答案 1 :(得分:0)

我只是复制粘贴了您的代码,根据您的期望输出,它可以正常工作。请看下面的代码:

ng update