我如何在C#中的另一个Gridview中使用Gridview使用的值来回溯数据 [英] How I Can Retrive Data In Gridview Used Value In Another Gridview In C#
问题描述
我有两张桌子,桌子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屋!