我如何在C#中的另一个Gridview中使用Gridview使用的值来回溯数据 [英] How I Can Retrive Data In Gridview Used Value In Another Gridview In C#

查看:64
本文介绍了我如何在C#中的另一个Gridview中使用Gridview使用的值来回溯数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有两张桌子,桌子1像这样: -

数字,Job_no ...... Job_no是PK

1132,12
1256,20 20

此表显示在gridview(1)



表2如下: -

items_no,Job_card,Value

1,23,500

2,12,400

3,12,600
1,20,70000

2,20,150



此表格在gridview(2)中显示如下: -

items_no,Job_card,Value

1,12,500 500

2,12,400

3,12,600




i想要当我在第1行的gridview(1)中双击数据在gridview中重复(2)



编辑:Andy Lanng

评论代码:

i have two table , table 1 Like this :-
Numbers , Job_no ...... Job_no is PK
1132 , 12
1256 , 20
this table is display in gridview(1)

table 2 like this :-
items_no , Job_card , Value
1 , 12 , 500
2 , 12 , 400
3 , 12 , 600
1 , 20 , 700
2 , 20 , 150

this table display in gridview(2) like this :-
items_no , Job_card , Value
1 , 12 , 500
2 , 12 , 400
3 , 12 , 600


i want when i double click in gridview(1) in row 1 the data retrive in gridview(2)

Andy Lanng
Code from comment:

void CreateDataTable()
{
  dt.Columns.Add("items Number");
  dt.Columns.Add("job card");
  dt.Columns.Add("value");
  dt.Columns.Add("auto part");
  dt.Columns.Add("repair type");
  dt.Columns.Add("New or Old");
  dt.Columns.Add("provider");
  dt.Columns.Add("");
  dt.Columns.Add("notes");

  dgv_Add_job_card.DataSource = dt;
}

private void txt_Job_card_KeyDown(object sender, KeyEventArgs e)
{
  if ((e.KeyCode == Keys.Enter))
  {

  con.Open();
  SqlDataAdapter DA = new SqlDataAdapter();
  DataTable dt = new DataTable();
  //s = "SELECT Auto_Parts.Car_id, Auto_Parts.Job_Card, Auto_Parts.Change_date,  Auto_Parts.Current_dist, Auto_Parts.Prev_dist, Auto_Parts.Driver_ID, Auto_Part_Details.Items_No, Auto_Part_Details.Value_Part, Auto_Part_Details.Auto_Parts_id,Auto_Part_Details.Repair_id ,Auto_Part_Details.New_Old_Part, Auto_Part_Details.Provider_id, Auto_Part_Details.Installation_id, Auto_Part_Details.Notes FROM Auto_Part_Details RIGHT OUTER JOIN Auto_Parts ON dbo.Auto_Part_Details.Job_Card = Auto_Parts.Job_Card where Auto_Parts.Car_id = @Car_id and Auto_Parts.Job_Card = @Job_Card";
s = "SELECT Auto_Parts.Car_id, Auto_Parts.Job_Card, Auto_Parts.Change_date, Auto_Parts.Current_dist, Auto_Parts.Prev_dist, Auto_Parts.Driver_ID FROM Auto_Parts where Auto_Parts.Car_id = @Car_id and Auto_Parts.Job_Card = @Job_Card";
s = "select s1.Items_No , s1.Job_Card , s1.Value_Part ,Auto_Parts_Type.Parts_desc,Repair_Type.Repair_desc,s1.New_Old_Part,Providers.Provider_desc,Hand_Installation.Installation_desc,s1.Notes from Auto_Part_Details s1 LEFT OUTER JOIN Hand_Installation ON s1.Installation_id = Hand_Installation.Installation_id LEFT OUTER JOIN Providers ON s1.Provider_id = Providers.Provider_id LEFT OUTER JOIN Repair_Type ON s1.Repair_id = dbo.Repair_Type.Repair_id LEFT OUTER JOIN Auto_Parts_Type ON s1.Auto_Parts_id = dbo.Auto_Parts_Type.Auto_Parts_id where s1.Job_Card = @Job_Card ";
  sd = new SqlCommand(s, con);
  sd.Parameters.AddWithValue("@Car_id", txt_Car_id.Text);
  sd.Parameters.AddWithValue("@Job_Card", txt_Job_card.Text);
  sda = sd.ExecuteReader();
  if (sda.Read())
  {
    dtp_Change_date.Value = sda.GetDateTime(2);
    txt_Current_dist.Text = sda.GetString(3);
    txt_Prev_dist.Text = sda.GetString(4);
    CB_Driver_name.SelectedValue = sda.GetInt32(5);

  }
  DA.SelectCommand = sd;
  DA.Fill(dt);
  dgv_Add_job_card.DataSource = dt;
  dgv_Add_job_card.Columns["Items_No"].HeaderText = "item number";
  dgv_Add_job_card.Columns["Job_Card"].HeaderText = "job card";
  txt_Car_id.ReadOnly = true;
  txt_Job_card.ReadOnly = true;
  btn_Add.Enabled = false;
  btn_Delete.Enabled = true;
  btn_Edit.Enabled = true;
  con.Close();
}
}

推荐答案

双击检查网格的CurrentRow属性,将CurrentRow.DataBoundItem强制转换为DataRowView并访问您需要的字段。
Check CurrentRow property of the grid on double click, cast CurrentRow.DataBoundItem to DataRowView and access the field you need.


这篇关于我如何在C#中的另一个Gridview中使用Gridview使用的值来回溯数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆