Hello Dear
working with DataGrid like you did is so hard,it is better that first you generate a datasource from that table by using 'Data -> Add New data Source' in VS . if table which you want to work on it is in a database , select Database from Window which displayed , if that is a class which you have generated in your code for example :
public class Person
{
public int PersonID
{
get;
set;
}
public string PersonName
{
get;
set;
}
}
select object from Window which was displayed then next,... and VS create a datasource from that table or object or web service .
in your from add a BindingSource to your form and set its datasource that class which VS generated;
set datasource of your datagrid to BindingSource which you added to form and
set AutoGenerateColumns of DataGrid to True.
now if in your code you fill datasource of your BindingSource with list array of that generated class (for example Person) your datagrid will show all of data in BindingSource.DataSource
if you have some control in your form which you wants to show data of Current row in DataGid do this for example you have a TextBox that you want to show PersonId of Current row of DataGrid , Do this:
in designer of from select TextBox and in its property select DataBinding property and expand it , in text property which is displayed select BindingSource which you added to from and from it select property which you want textbox display it form example PersonId
now if you fill datasource of your BindingSource when you navigate in datagrid textbox displayes personid of current Row
Good luck
if you did these and had some problems , send me an E-mail and I will Send You A project which have all of them with describe