【问题标题】:Datagridview with report in C#带有 C# 报告的 Datagridview
【发布时间】:2014-06-16 13:58:17
【问题描述】:

我在 Mysql 中有一个包含 4 列(id、nameofcase、priceone、pricetwo)的表。 我制作了一个带有一列的dataGridView1和带有priceone和pricetwo按钮的两列,我可以看到数据。 问题是,当我按下两个按钮之一时,我得到了我想要的信息。 如何将这些信息放入报告中?

 private void Form3_Load(object sender, EventArgs e)
        {
            // TODO: This line of code loads data into the 'lawyerspriceDataSet.lawsuit_under_500' table. You can move, or remove it, as needed.
            this.lawsuit_under_500TableAdapter.Fill(this.lawyerspriceDataSet.lawsuit_under_500);



        }

        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        { 

            if (e.ColumnIndex == dataGridView1.Columns["priceoneDataGridViewTextBoxColumn"].Index)
              {

 //with those 2 lines i am getting the information's that i want

        dataGridView1.Rows[row].Cells[col - 1].Value.ToString();

      dataGridView1.Rows[row].Cells[col].Value.ToString();

   }
  else if (e.ColumnIndex == dataGridView1.Columns["pricetwoDataGridViewTextBoxColumn"].Index)
  {

      dataGridView1.Rows[row].Cells[col - 2].Value.ToString();

      dataGridView1.Rows[row].Cells[col].Value.ToString();


  }
}

        }




private void button1_Click(object sender, EventArgs e)
        {
            Form4 report = new Form4();
            report.Show();
        }

有谁知道我是怎么做到的?

【问题讨论】:

  • 您似乎知道 DataGridViewCellEventArgs 包含 RowIndex,如何从该行获取数据是个问题?
  • 不,我不知道 DataGridViewCellEventArgs。在代码中,我做了一个评论,我在网上找到了它,我用那个 messageBox 对其进行了测试,它可以工作。

标签: c# data-binding datagridview datagrid reportviewer


【解决方案1】:

试试这个:

 private void dataGridview_CellClick(object sender, DataGridViewCellEventArgs e)
            {
    if (e.ColumnIndex == dataGridview.Columns["btnName"].Index)
                    {
                        DataGridViewRow dr=dataGridview.Rows[e.RowIndex];
    //do ur stuffs
            }

    }

【讨论】:

  • in line ' if (e.ColumnIndex == dataGridview.Columns["btnName"].Index)' 它说对象引用未设置为对象的实例。
  • 您是否更改了 datagridview 名称并在该字符串中指定了正确的列名?
  • 我已经更改了它们,正确的列名是 priceoneDataGridViewTextBoxColumn,现在可以了。但问题是如何当我按下两个按钮之一时,我想用特定的 nameofcase 和价格并将其放在报告中,以便以后打印
  • 如果我错了请纠正我。如果单击第 2 列和第 3 列中的任一按钮,您想要第 1 列的值?
  • 第 1 列的值与第 2 列或第 3 列的值取决于点击了哪一列
猜你喜欢
  • 2017-09-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多