Ответ на мой вопрос был:
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;
}