从一个网格视图添加到另一个

时间:2015-04-18 14:12:08

标签: c# .net datagridview

我有2个网格视图。 Gridview1有自行车的详细信息,可供出租。 Gridview1也有一个按钮。当单击gridview1上的按钮时,相关的行应该添加到gridview2

Gridview2是从gridview1中选择的自行车。我尝试过编写代码,但它不起作用。

以下是我的代码

    private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
    {

            int id = Convert.ToInt32(dataGridView1.Rows[e.RowIndex].Cells["IndBikeID"].Value.ToString());
            SqlConnection con = Database.GetCnn();
            con.Open();
            string command = "select * from Bike_IndividualBike Where Bike_IndividualBike.Status = 'Available' AND IndBikeID=" + id + "";
            SqlCommand cmd = new SqlCommand(command, con);

            DataTable dt = new DataTable();
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.Fill(dt);
            foreach (DataRow dr in dt.Rows)
            {

            }
        }

我不确定在foreach循环中放入什么。

为什么我们需要int id变量?

有人可以帮助我。该项目是租用自行车。

2 个答案:

答案 0 :(得分:0)

您可以在<asp:LinkButton../>中添加GridView1。正如您在GridView1中提到的那样,有一个可用的自行车列表,您已适当地填充了该gridview。

点击LinkButton后,您可以INSERTid添加到所选自行车表中,以进行GridView2查询。

完成后,您可以使用仅选择所选自行车的查询来填充GridView1

因为,页面上会发生回发(由于点击了链接按钮),GridView1将根据查询获取数据(仅可用自行车)因此以前选择的自行车将不会显示在GridView2中,并将填入您的{{1}}内(假设您已经提到了我提到的书面查询!)

答案 1 :(得分:0)

我认为使用SqlDataReader可能更容易

con.Open();
string command = "select * from Bike_IndividualBike Where Bike_IndividualBike.Status = 'Available' AND IndBikeID=" + id + "";
SqlCommand cmd = new SqlCommand(command, con);

using (SqlDataReader read = cmd.ExecuteReader())
    while (read.Read())
    {
        object[] values = new object[read.FieldCount];
        read.GetValues(values);
        dataGridView2.Rows.Add(values);
    }
相关问题