public ArrayList GetSelectedRows(DataGrid dg) 
 

 
     ArrayList al = new ArrayList(); 
 
     CurrencyManager cm = (CurrencyManager)this.BindingContext[dg.DataSource, dg.DataMember]; 
 
     DataView dv = (DataView)cm.List; 
  
     for(int i = 0; i < dv.Count; ++i) 
 
     { 
 
          if(dg.IsSelected(i)) 
 
               al.Add(i); 
 
     } 
 
     return al; 
 

  
private void button1_Click(object sender, System.EventArgs e) 
 

 
     string s = "Selected rows:"; 
 
     foreach(object o in GetSelectedRows(dataGrid1)) 
 
     { 
 
          s+=""+o.ToString(); 
 
     } 
 
     MessageBox.Show(s); 
 

 
摘自:
http://www.syncfusion.com/faq/winforms/search/775.asp