【问题标题】:Get Values from Datagridview related to to certain values in another column c#从 Datagridview 获取与另一列 c# 中某些值相关的值
【发布时间】:2017-02-21 00:01:32
【问题描述】:

所以这是我的问题。我编码的时间不长,我已经在这个问题上拖了 2 天了,但无法得到有效的答案......

Form1 有一个包含 3 列和多行数据的 datagridview。 如果我按下 Form1 上的按钮,我需要它填充 column1 中所有在 column[2] 中具有特定值的值,然后将其显示在 Form2 上的文本框中。

例子:

Datagrid example

因此,如果我单击一个按钮,我想提取 car1 的所有金额并在 form2 的文本框中显示总数。

Form2 obj = new Form2();
public void button4_Click(object sender, EventArgs e)
    {
String searchValue = "Car1";
        int rowIndex = 1;
        foreach (DataGridViewRow row in dataGridView1.Rows)
        {
            if (row.Cells[2].Value.ToString().Equals(searchValue))
            {
                rowIndex = row.Index;
                obj.Controls["TextBox1"].Text = dataGridView1.Rows[rowIndex].Selected.ToString();
                obj.Show();

            }
            else
            {
               break;
            }


        }
    }

我只是在我的文本框中得到答案“真”

我希望这是有道理的

提前致谢

【问题讨论】:

  • 您需要展示到目前为止您已经尝试过的内容以及您遇到的问题。到目前为止,您的问题是“请为我编写所有代码”,这将被关闭。如果你能做到这一点,你更有可能得到一些对你有帮助的答案。
  • 我可以帮忙,但不知道什么是确定的价值?那么如果 column[1] 的行数大于 column[2] 行数?类似的东西?
  • 嗯,好的。我将添加我最后使用的代码,让我最接近我想要的位置。

标签: c# winforms visual-studio datagridview


【解决方案1】:

为什么要打破foreach 循环。据我了解,您想要所有其他数量的 Car1。正确的?看看这个:

    Form2 obj = new Form2();
    public void button4_Click(object sender, EventArgs e)
        {
            String searchValue = "Car1";
            int amount = 0;
             foreach (DataGridViewRow row in dataGridView1.Rows)
           {
                 if(row.Cells["Type"].Value.ToString().Equals(searchValue)
                 {
                     amount+ = Convert.ToInt32(row.Cells["Amount"].Value.ToString())
                 }
           }   

            if(amount > 0 )
           {
              obj.Controls["TextBox1"].Text = amount.ToString();
           }
           else
           {
             obj.Controls["TextBox1"].Text = "No car found!";  
           }

           obj.Show();
        }

您还需要控制 Amount 是否为数字。

【讨论】:

  • 谢谢。这有很大帮助。我现在也知道我在哪里犯了错误
  • @Chris 很高兴为您提供帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-12-28
  • 2021-12-16
  • 2022-11-12
  • 1970-01-01
  • 2011-03-11
  • 2017-06-11
  • 1970-01-01
相关资源
最近更新 更多