Как отобразить разные записи в текстовых полях из разных таблиц только с 1 dataGridView? - PullRequest
0 голосов
/ 26 ноября 2018

Имея только 1 dataGridView, я могу отображать разные записи в базе данных из 3 таблиц (по одной за раз), основываясь на их соответствующем нажатии кнопки (user_tb, project_tb, test_tb)

  • Я хочу бытьвозможность отображать записи в соответствующем текстовом поле , щелкнув соответствующие записи в таблице.

1) щелкните show_user btn> показать записи пользователя в dataGridView1> щелкните запись пользователя>user_id появляются в указанном assign_user_txtbx.Text

2) нажмите show_bug btn> записи об ошибках показать в dataGridView1> нажмите на запись об ошибке> bug_id появятся в данном assign_bug_txtbx.Text

3) нажмите show_testbtn> записи тестов отображаются в dataGridView1> нажмите на запись теста> test_id появляются в заданном assign_test_txtbx.Text

private void multi_dataGridView1_CellContentClick(object sender,   DataGridViewCellEventArgs e)
    {
        if (e.RowIndex >= 0)
        {
            DataGridViewRow Row = this.multi_dataGridView1.Rows[e.RowIndex];

            assign_user_txtbx.Text = Row.Cells["user_id"].Value.ToString();

        } // end of if statement

        if (e.RowIndex >= 0)
        {
            DataGridViewRow Row = this.multi_dataGridView1.Rows[e.RowIndex];

            assign_project_txtbx.Text = Row.Cells["project_id"].Value.ToString();

        } // end of if statement

        if (e.RowIndex >= 0)
        {
            DataGridViewRow Row = this.multi_dataGridView1.Rows[e.RowIndex];

            assign_test_txtbx.Text = Row.Cells["test_id"].Value.ToString();

        } // end of if statement
    }

Проблема в том, что я использую только 1 dataGridView

1 Ответ

0 голосов
/ 26 ноября 2018

Я не уверен, что вы спрашиваете.Я думаю, вам нужно заполнить текстовое поле значением из выбранной строки, но, поскольку вы изменяете содержимое DataGridView во время выполнения, значение, которое вам нужно получить, также может отличаться.
Если это так, возможно, что-то подобное может получитьВы начали?

private void multi_dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
    if (e.RowIndex >= 0)
    {
        DataGridViewRow Row = this.multi_dataGridView1.Rows[e.RowIndex];

        if (Row.Cells["user_id"] != null)
            assign_user_txtbx.Text = Row.Cells["user_id"].Value.ToString();
        else if (Row.Cells["project_id"] != null)
            assign_project_txtbx.Text = Row.Cells["project_id"].Value.ToString();
        else if (Row.Cells["test_id"] != null)
            assign_test_txtbx.Text = Row.Cells["test_id"].Value.ToString();
    } // end of if statement
}

Другой способ - установить какой-либо флаг, когда вы нажимаете на кнопки, которые изменяют представление в сетке данных, и используете этот флаг в if .. else part

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...