У меня есть такой вид таблицы данных .... на изображении ниже это хорошо работает ...
Мне нужно подключить событие в вертикальной боковой панели ..
iзначит, если я нажимаю на верхнюю стрелку на полосе прокрутки, я хочу что-то сделать ...
Чтобы быть более точным, я хочу получить идентификатор первого верхнего идентификатора записи, когда я нажимаю на верхнюю стрелку на вертикальной полосе прокрутки...
using System.Reflection;
using System.Windows.Forms;
bool addScrollListener(DataGridView dgv)
{
bool ret = false;
Type t = dgv.GetType();
PropertyInfo pi = t.GetProperty("VerticalScrollBar", BindingFlags.Instance | BindingFlags.NonPublic);
ScrollBar s = null;
if (pi != null)
s = pi.GetValue(dgv, null) as ScrollBar;
if (s != null)
{
s.Scroll += new ScrollEventHandler(s_Scroll);
ret = true;
}
return ret;
}
private void s_Scroll(object sender, ScrollEventArgs e)
{
if (e.ScrollOrientation == ScrollOrientation.VerticalScroll)
{
if (e.Type == ScrollEventType.ThumbPosition)
{
if (e.Type == ScrollEventType.SmallIncrement)
{
int i = dgvMembers.FirstDisplayedScrollingRowIndex;
int idemebers =Convert.ToInt32(dgvMembers.Rows[i].Cells["Id"].Value.ToString());
getMemberInfo(i, idemebers); // i want to the details of selected record into text boxes
}
if (e.Type == ScrollEventType.SmallDecrement)
{
int i = dgvMembers.FirstDisplayedScrollingRowIndex;
int idemebers = Convert.ToInt32(dgvMembers.Rows[i].Cells["Id"].Value.ToString());
getMemberInfo(i, idemebers);
}
}
}
}
но это событие не вызывается
s.Scroll += new ScrollEventHandler(s_Scroll);
оно не входит в это событие ...
любой кто-нибудь из PLS поможет в этом...
Большое спасибо заранее