2009-11-29 43 views
0

我是C#的初學者,所以我創建了一個小應用程序,以瞭解如何使用Linq和基於C#的數據庫。DataGridView Row單擊此處Linq對象

我試圖做的是在DataGridView當有人點擊包含一些數據我想從e.RowIndex去該行的數據的LINQ對象的行,我試圖參與使用DataBoundItem

但無論出於何種原因,此代碼中的currentAd變量總是給我一個空值。

private void clickRow(object sender, DataGridViewCellEventArgs e) 
    { 
     richTextBox1.Text = "There is a clickRow event with row index " + e.RowIndex; 
     Ad currentAd = adsDataGridView.Rows[e.RowIndex].DataBoundItem as Ad; 
     if (currentAd != null) // The problem is it is always null 
     { 
      MessageBox.Show(currentAd.ToString()); 
     } 
    } 

感謝您的幫助。

回答

1

the examples given on the MSDN site,他們投行的DataGridViewRow對象第一,採取DataBoundItem之前,所以你可能想嘗試一下這種方法:

private void clickRow(object sender, DataGridViewCellEventArgs e) 
    { 
     richTextBox1.Text = "There is a clickRow event with row index " + e.RowIndex; 
     DataGridViewRow row = adsDataGridView.Rows[e.RowIndex] as DataGridViewRow; 
     Ad currentAd = row.DataBoundItem as Ad; 
     if (currentAd != null) 
     { 
      MessageBox.Show(currentAd.ToString()); 
     } 
    } 
+0

是啊,我看着那邊,我試圖打與此同時,它仍然沒有工作。我試過了,它仍然是空的。 – 2009-11-29 02:27:12

+0

看起來你的演員陣容達到了「Ad」失敗。 – 2009-11-29 04:16:47