2012-12-29 31 views
1

我正在絞盡腦汁想一些應該很簡單的事情。現在是一天,所以我最終放棄了,我會問這個問題。我怎樣才能實際觸發.net中datagridview上的selectionChanged事件? 我基本上喜歡在用戶雙擊/或單擊任何一行時獲取行值。但我不能爲我的生活得到這個事件,甚至激烈火我在這裏讀到,這應該是甚至我需要使用?c#.net datagridview SelectionChanged

private void dataGridView1_SelectionChanged(object sender, EventArgs e) 
     { 
      foreach (DataGridViewRow row in AddrGrid.SelectedRows) 
      { 
       string value1 = row.Cells[0].Value.ToString(); 
       string value2 = row.Cells[1].Value.ToString(); 
       //... 
      } 
     } 

我已經試過類似這樣的東西,但即時通訊無望我點擊數據網格單元格或行,這不火我我缺少的是什麼?

當我點擊一個單元格時,我得到這個事件觸發。

private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) 
     { 


      Addresses.aTyp = AddrGrid.Rows[AddrGrid.CurrentCell.RowIndex].Cells["Address Type"].Value.ToString(); 
      Addresses.seq = AddrGrid.Rows[AddrGrid.CurrentCell.RowIndex].Cells["Sequence"].Value.ToString(); 

     } 

但我喜歡捕獲雙擊或單擊一行不只是一個單元格。 任何幫助將不勝感激。

+0

你掛鉤事件處理程序嗎? – iamkrillin

+0

我很新的事件處理拋出一塊骨頭,並告訴我如何掛鉤請。 – Miguel

+0

什麼是AddrGrid這看起來是問題..我會發布它應該看起來像什麼 – MethodMan

回答

1

在你的網格對象上,我們稱它爲'foo'。你會做類似的東西..

foo.SelectionChanged += dataGridView1_SelectionChanged 

你需要做的是在某個地方連接事件。我通常做它的構造函數形式

+0

@MarkHall良好的調用,我總是忘記那個選項有 – iamkrillin

+0

我覺得這樣的白癡這是我正在嘗試做的!謝謝你指點我正確的方向。 – Miguel

1
private void dataGridView_SelectionChanged(object sender, EventArgs e) 
{ 
    foreach (DataGridViewRow row in dataGridView1.SelectedRows) 
    { 
     string value1 = row.Cells[0].Value.ToString(); 
     string value2 = row.Cells[1].Value.ToString(); 
    } 
} 
3

您可以使用此

private void AddrGrid_CellEnter(object sender, DataGridViewCellEventArgs e) 
    { 

     Addresses.aTyp = AddrGrid.Rows[AddrGrid.CurrentCell.RowIndex].Cells["Address Type"].Value.ToString(); 
     Addresses.seq = AddrGrid.Rows[AddrGrid.CurrentCell.RowIndex].Cells["Sequence"].Value.ToString(); 
    }