I have a datagrid view like this....in below image well thats works fine...
I nee开发者_高级运维d to hook up an event in vertical side bar ..
i mean if i click on upper arrow in the scroll bar i want to do something ...
If i click on the down arrow in that scroll bar , i want to do something...
To be more specific i want to get the id of first upper record when i click on upper arrow in vertical scroll bar..
How can i do this... , I am using winforms
would any one pls help on this....
Many thanks in advance
I have found this but i dont know how to implement this in my page
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;
}
void s_Scroll(object sender, ScrollEventArgs e)
{
// Hander goes here..
}
I have done like this...
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);
}
if (e.Type == ScrollEventType.SmallDecrement)
{
int i = dgvMembers.FirstDisplayedScrollingRowIndex;
int idemebers = Convert.ToInt32(dgvMembers.Rows[i].Cells["Id"].Value.ToString());
getMemberInfo(i, idemebers);
}
}
}
}
but this event does not fire s.Scroll += new ScrollEventHandler(s_Scroll); it does not goes into the this event ...
would any one pls help on this...
You should be able to use the code you have posted. All you need to do is call addScrollListener
somewhere (for example in your constructor after InitializeComponent
)
public Form1()
{
InitializeComponent();
// Replace dataGridView1 with the name of your DataGridView
addScrollListener(dataGridView1);
}
// addScrollListener code goes here
精彩评论