首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在datagridview中一次选择第1行并使用messagebox显示

如何在datagridview中一次选择第1行并使用messagebox显示
EN

Stack Overflow用户
提问于 2018-10-24 07:35:43
回答 2查看 682关注 0票数 1

我试图创建一个一次选择第1行并在messagebox中打印特定列的程序,但是输出只是第一项,并且将根据我的datagridview中的行数重复。有人知道我错过了什么吗?提前感谢

dgvCart是我的数据视图

私有空button1_Click_2(对象发送方,EventArgs e) { for (int i=0;i< dgvCart.Rows.Count;i++) { dgvCart.ClearSelection();dgvCart.Rowsi.Selected = true;if (dgvCart.SelectedCells.Count > 0) { int选择困倦指数= dgvCart.SelectedCellsi.RowIndex;DataGridViewRow selectedRow = dgvCart.Rowsselectedrowindex;字符串_name = Convert.ToDecimal(selectedRow.Cells"Column3".Value);十进制_quantity =Convert.ToDecimal(selectedRow.Cells“Column3”.Value);MessageBox.Show(“名称:+”数量:“+_quantity.ToString()”;dgvCart.Rowsi.Selected = false;} // string _name = dgvCart.CurrentRow.Cells.Value.ToString();//十进制_quantity =dgvCart.CurrentRow.Cells.Value.ToString}

EN

回答 2

Stack Overflow用户

发布于 2018-10-24 08:07:53

如果您只想显示选定的网格行,那么尝试这个

代码语言:javascript
运行
复制
foreach(DataGridViewRow Rows in this.dataGridViewX1.Rows)

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

            }
        }

如果要显示所有行数据,则为。

然后使用代码

代码语言:javascript
运行
复制
foreach (DataGridViewRow rows in this.dataGridViewX1.Rows)

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

Stack Overflow用户

发布于 2018-10-24 08:21:08

我只是复制,粘贴您的代码,它运行良好,按照您的期望输出。请看下面的代码:

代码语言:javascript
运行
复制
    private void Form1_Load(object sender, EventArgs e)
    {
        DataTable dt = new DataTable();
        dt.Columns.Add("id");
        dt.Columns.Add("name");
        dt.Columns.Add("quantity");

        DataRow dr;

        dr = dt.NewRow();
        dr["id"] = "1";
        dr["name"] = "mobile";
        dr["quantity"] = "100";

        dt.Rows.Add(dr);

        dr = dt.NewRow();
        dr["id"] = "2";
        dr["name"] = "laptop";
        dr["quantity"] = "50";

        dt.Rows.Add(dr);

        this.dataGridView1.DataSource = dt;
    }

    private void button1_Click(object sender, EventArgs e)
    {
        for (int i = 0; i < dataGridView1.Rows.Count; i++)
        {
            dataGridView1.ClearSelection();
            dataGridView1.Rows[i].Selected = true;

            if (dataGridView1.SelectedCells.Count > 0)
            {
                int selectedrowindex = dataGridView1.SelectedCells[i].RowIndex;

                DataGridViewRow selectedRow = dataGridView1.Rows[selectedrowindex];

                string _name = Convert.ToString(selectedRow.Cells["name"].Value);
                decimal _quantity = Convert.ToDecimal(selectedRow.Cells["quantity"].Value);
                MessageBox.Show("name: " + "quantity: " + _quantity.ToString());
                dataGridView1.Rows[i].Selected = false;
            }
        }
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52963311

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档