Кто-нибудь знает, что это за ошибка? - PullRequest
0 голосов
/ 06 апреля 2011

Я получаю эту ошибку: ссылка на объект не установлена ​​на экземпляр.

после запуска этого кода

        DataTable dtOriginal = new DataTable();
        dtOriginal = (DataTable)gvRapporten.DataSource; //Return Table consisting data

        //Create Tempory Table
        DataTable dtTemp = new DataTable();

        //Creating Header Row
        dtTemp.Columns.Add("<b>Melder</b>");
        dtTemp.Columns.Add("<b>Onderwerp</b>");
        dtTemp.Columns.Add("<b>Oplosser</b>");
        dtTemp.Columns.Add("<b>Niveau 2</b>");
        DataRow drAddItem;
        for (int i = 0; i < dtOriginal.Rows.Count; i++)
        {
            drAddItem = dtTemp.NewRow();
            drAddItem[0] = dtOriginal.Rows[i][0].ToString();//Melder
            drAddItem[1] = dtOriginal.Rows[i][1].ToString();//Onderwerp
            drAddItem[2] = dtOriginal.Rows[i][2].ToString();//Oplosser
            drAddItem[3] = dtOriginal.Rows[i][3].ToString();//Niveau 2

            dtTemp.Rows.Add(drAddItem);
        }

Источник данных gridview 'gvRapporten' устанавливается в событии page_load, поэтому он не может быть NULL

Ответы [ 3 ]

2 голосов
/ 06 апреля 2011

На посте обратно DataSource будет пустым.Вам нужно будет повторно выполнить запрос, чтобы получить исходные данные.

2 голосов
/ 06 апреля 2011

Если этот код не является частью 'page_load', тогда я предполагаю, что это происходит в других событиях управления, что означает, что значение gvRapporten.DataSource будет очищено при обратной передаче. Поскольку веб-интерфейс «без состояния», он не будет сохранять значение, доступное для данных, поэтому вы должны снова получить его из своей базы данных.

0 голосов
/ 06 апреля 2011

Если вы уверены в gvRapporten, возможно, что одна из строк, к которым осуществляется доступ в цикле, содержит ссылку NULL, сообщающую об ошибке при вызове функции ToString ()

...