DataGridView Row Click to Linq Object - PullRequest
       10

DataGridView Row Click to Linq Object

0 голосов
/ 29 ноября 2009

Я новичок в C #, поэтому я сделал небольшое приложение, чтобы понять, как работать с Linq и базой данных на C #.

То, что я пытаюсь сделать, - это 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 Ответ

1 голос
/ 29 ноября 2009

В примерах, приведенных на сайте MSDN , они сначала приводят строку к объекту 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() );
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...