У меня есть Form1
с несколькими личными текстовыми полями.Я хочу передать некоторые значения из моего DataGridView в Form2
в эти текстовые поля в Form1
(например, когда я нажимаю Enter).
Что я хочу сделать, это передать значения строк текущего выбранного Row
в DataGridView для передачи в TextBoxes в Form1
:
(я знаю, как получить значения выбранной строки в datagridview мой вопрос только заголовок ...)
if (e.KeyCode == Keys.Enter)
{
SqlCommand sqlcmd = new SqlCommand("SELECT ID FROM X WHERE ID=" +
dataGridView1.CurrentRow.Cells[0].Value + "", sqlcon);
SqlDataReader sqldr = sqlcmd.ExecuteReader();
while (sqldr.Read())
{
Form1.CodeTextBox = sqldr[codecolumn].Tostring
Form1.NameTextBox = sqldr[Namecolumn].Tostring
Form1.BlahTextBox = sqldr[Blahcolumn].Tostring
}
}
, который кричит на меня:
codeTextBox является личным ... не может сделать это из-за уровня защиты ...
Я думаю, что для этого нужно создать статический класс, но я не знаю, как.
Я бы оценил, если бы кто-то объяснил мне это.
Form1
Класс:
public partial class Form1 : Form
{
public static string searchString;
SqlConnection sqlcon =
new SqlConnection("Data Source=(LocalDB)\\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\\Database1.mdf;Integrated Security=True");
public Form1()
{
InitializeComponent();
SqlDataAdapter sqlda = new SqlDataAdapter("GetInvoice", sqlcon);
DataTable dt = new DataTable();
sqlda.Fill(dt);
dataGridView1.DataSource = dt;
}
//Xbuton_click datagridview_blah ...
}