Как изменить выбранную строку вида сетки данных, щелкнув мышью по строке - PullRequest
0 голосов
/ 29 августа 2018

Ответ на мой вопрос был:

    private void dg_CellClick(object sender, DataGridViewCellEventArgs e)
    {           
        tblNamesBS.Position = e.RowIndex;
    }

Я новый программист и новичок в stackoverflow!

Я работаю в c # над приложением формы Windows, которое извлекает данные из таблицы SQL в представление данных. Моя форма позволяет мне:

  • Для поиска в таблице SQL с помощью моей формы введите «Имя клиента», которое затем заполняет мое представление данных со всеми результатами поиска.

  • Отображение результатов поиска текущей позиции строки в текстовые поля через BindingSource.

  • циклически перебирать результаты поиска, нажимая мои кнопки «Далее» или «Предыдущий», используя .MoveNext () и .MovePrevious ()

Что я не смог сделать, так это изменить текущую позицию строки простым щелчком мыши. Вместо этого я ДОЛЖЕН нажимать кнопки «Далее» или «Предыдущий», чтобы переключаться между результатами.

Итак, мой вопрос: как я могу изменить текущую позицию строки, щелкнув мышью?

Вот небольшой фрагмент моего кода, если это поможет. У меня есть 16 привязок данных, но я включил только одну, чтобы сохранить небольшую длину кода.

    string Result = ComboSearch.Text;

    DataSet ds = new DataSet();

    SqlConnection con = new SqlConnection(sqlconnect);
    SqlDataAdapter da = new SqlDataAdapter();
    con.Open();
    da.SelectCommand = new SqlCommand("SELECT * FROM TestDataTable WHERE 
    CustomerName LIKE + '%' + '" + Result + "' + '%' ", con);
    ds.Clear();
    da.Fill(ds);

    dg.DataSource = ds.Tables[0];
    TxtBoxCustomer.DataBindings.Clear();
    BindingSource tblNamesBS = new BindingSource();

    TxtBoxCustomer.DataBindings.Add(new Binding("Text", tblNamesBS, 
    "CustomerName"));

    private void button3_Click(object sender, EventArgs e)
    {                     
        tblNamesBS.MoveNext();
        dgUpdate();
    }

    private void button4_Click(object sender, EventArgs e)
    {
        tblNamesBS.MovePrevious();
        dgUpdate();
    }       

    private void dgUpdate()
    {
        dg.ClearSelection();
        dg.Rows[tblNamesBS.Position].Selected = true;
        dg.FirstDisplayedScrollingRowIndex = dg.SelectedRows[0].Index;

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