Как получить связанные данные в datagridview2 в новой форме, когда строка выбирается в datagridview1 в первой форме
Таким образом, в основном у меня есть две оконные формы, в первой форме у меня есть мой datagridview1, который показывает данные из базы данных, я хотел бы выскочить еще один datagridview2 в новой форме 2, который покажет связанные данные в соответствии с строкой datagridview1, которую я щелкнул. Возможно ли это сделать? Я сделал создание datagridview1 и хотел бы показать его связанные данные в форме datagridview form2. Например, у меня есть [id, name, location], отображаемый в form1, и когда я выбираю строку, form2 выскакивает и отображает [types, date_installed], причем оба id = одинаковы.
ps: я уже создал класс с именем myClass, который содержит строку подключения к моей базе данных.
Вот мои коды в форме 1:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using Oracle.DataAccess.Client; namespace MyTask { public partial class Form1 : Form { private myClass myCls; public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { myCls = new myClass(); dataGridView1.AutoGenerateColumns = false; dataGridView1.DataSource = myCls.QueryData(@"select * from my_database ordered by database_id); dataGridView1.Refresh(); } private void button1_Click(object sender, EventArgs e) { } private void dataGridView1_CellContentClick_1(object sender, DataGridViewCellEventArgs e) { Form2 form2 = new Form2(); form2.Show(); form2.Refresh(); dataGridView2.DataSource = dataGridView1.SelectedRows dataGridView2.Refresh(); } private void label1_Click(object sender, EventArgs e) { } } }
Что я уже пробовал:
Ну, я попробовал это в своем dataGridView1...
private void dataGridView1_CellContentClick_1(object sender, DataGridViewCellEventArgs e) { Form2 form2 = new Form2(); form2.Show(); form2.Refresh(); dataGridView2.DataSource = dataGridView1.SelectedRows dataGridView2.Refresh(); }