Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
2 / 2 / 10
Регистрация: 17.09.2012
Сообщений: 860

В экземпляре объекта не задана ссылка на объект

13.01.2015, 22:23. Показов 2332. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
   private void button2_Click(object sender, EventArgs e)
        {
              object oMissing = System.Reflection.Missing.Value;
              object oEndOfDoc = "\\endofdoc"; 
 
              Word._Application oWord;
              Word._Document oDoc;
              oWord = new Word.Application();
              oWord.Visible = true;
              oDoc = oWord.Documents.Add(ref oMissing, ref oMissing,
                  ref oMissing, ref oMissing);
 
 
              Word.Table oTable;
              Word.Range wrdRng = oDoc.Bookmarks.get_Item(ref oEndOfDoc).Range;
              oTable = oDoc.Tables.Add(wrdRng, dataGridView1.RowCount + 1, 5, ref oMissing, ref oMissing); // dataGridView1.RowCount+1(пропуск заголовочной строки)
              oTable.Range.ParagraphFormat.SpaceAfter = 6;
              int r, c;
              string strText;
              for (r = 1; r <= dataGridView1.RowCount; r++) //  <= кол-во ячеек
                  for (c = 1; c <= 5; c++)
                  {
                      oTable.Cell(1, 0).Range.Text = "Header1";
                      oTable.Cell(1, 1).Range.Text = "Header2";
                      oTable.Cell(1, 2).Range.Text = "Header3";
                      oTable.Cell(1, 3).Range.Text = "Header4";
                      oTable.Cell(1, 4).Range.Text = "Header5";
                      oTable.Cell(1, 5).Range.Text = "Header5";
                            
 
                      foreach (DataGridViewRow row in dataGridView1.Rows)
                      {
                          foreach (DataGridViewCell cell in row.Cells)
                          {
 
                              strText = cell.Value.ToString();
                              oTable.Cell(r + 1, c).Range.Text = strText;
 
                          }
                      }
 
                      strText = "r" + r + "c" + c; // заполнение ячеек координатми
                      oTable.Cell(r+1, c).Range.Text = strText; // r+1 для пропуска 1 строки с заголовками
                  }
              oTable.Rows[1].Range.Font.Bold = 1;
              oTable.Rows[1].Range.Font.Italic = 1;   
          }

ругается на эту строку
C#
1
strText = cell.Value.ToString();
на что должна ссылаться?
C#
1
 strText = cell.Value.ToString(что тут прописывать?);
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
13.01.2015, 22:23
Ответы с готовыми решениями:

В экземпляре объекта не задана ссылка на объект
Делаю массив из Label Label labels = new Label; Далее задаю настройки for (int i = 0; i &lt; 10; i++) ...

В экземпляре объекта не задана ссылка на объект
Помогите разобраться пжлст string worker; public string Workers() { string str = { &quot;;&quot; }; ...

В экземпляре объекта не задана ссылка на объект
При открытии формы динамически создаются контролы webBrowser, с некоторым текстом. При нажатии на кнопку необходимо из всех webBrowser...

9
 Аватар для Metall_Version
2152 / 1289 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
13.01.2015, 23:17
скорее всего cell.Value равно null, можно проверить в отладчике
0
2 / 2 / 10
Регистрация: 17.09.2012
Сообщений: 860
13.01.2015, 23:25  [ТС]
Metall_Version, так?

C#
1
strText = cell.Value.ToString == null;
0
 Аватар для Metall_Version
2152 / 1289 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
13.01.2015, 23:33
Цитата Сообщение от wolf Посмотреть сообщение
так?
нет, даже трудно понять что вы тут пытаетесь сделать.
0
2 / 2 / 10
Регистрация: 17.09.2012
Сообщений: 860
13.01.2015, 23:34  [ТС]
Metall_Version, да я сам понимаю что тут бред, ну щас попробую на скринах описать суть вопроса чтоб было понятней
0
 Аватар для Metall_Version
2152 / 1289 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
13.01.2015, 23:46
wolf, если ячейка у датагрида него пустая то значения свойства Value будет null, и если в этом случае для Value вызвать метод ToString() то будет ошибка как у тебя
поэтому либо проверяй на то чтобы Value не было равно null и тогда вызывай ToString ,
либо объясните задачу, я думаю ее можно проще решить
0
2 / 2 / 10
Регистрация: 17.09.2012
Сообщений: 860
14.01.2015, 00:32  [ТС]
вот сначало я ввожу данные



затем нажимаю печать и меня перекидывает на word документ



и после этого сразу выскакивает ошибка



вот как это исправить?
0
 Аватар для Metall_Version
2152 / 1289 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
14.01.2015, 00:40
Лучший ответ Сообщение было отмечено wolf как решение

Решение

почему ошибка выскакивает выше написал, потому что ячейка пустая, нужно проверять чтобы cell.Value не было равно нул. например так, если cell.Value будет null то мы просто запишем пустую строку
C#
1
2
3
4
5
6
7
8
9
10
foreach (DataGridViewRow row in dataGridView1.Rows)
                      {
                          foreach (DataGridViewCell cell in row.Cells)
                          {
                              
                              strText = Convert.ToString(cell.Value);
                              oTable.Cell(r + 1, c).Range.Text = strText;
 
                          }
                      }
Добавлено через 1 минуту
статический метод Convert.ToString() если будет аргумент равен null не выдаст исключения в отличии от метода .ToString(), а вернет пустую строку
1
2 / 2 / 10
Регистрация: 17.09.2012
Сообщений: 860
14.01.2015, 01:08  [ТС]
такую абрукадабру вывело из за convert



как такое вылечить?
0
2 / 2 / 10
Регистрация: 17.09.2012
Сообщений: 860
14.01.2015, 01:30  [ТС]
почему то генерирует convert все слова из бд
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.01.2015, 01:30
Помогаю со студенческими работами здесь

В экземпляре объекта не задана ссылка на объект
Всем привет, столкнулся с проблемой что в форме WelcomeForm не видит переменную my_version из формы FormUpdater (привожу скрины) переменная...

В экземпляре объекта не задана ссылка на объект
Выделенный код отмечает ошибкой (В экземпляре объекта не задана ссылка на объект.) namespace WindowsFormsApplication1 { class...

В экземпляре объекта не задана ссылка на объект
Проект прилагается. Помогите исправить ошибку.

В экземпляре объекта не задана ссылка на объект при динамическом создании объекта
Выдается ошибка NullReferenceException в private void button2_Click(object sender, EventArgs e) { ...

Обновление приложения: В экземпляре объекта не задана ссылка на объект
Пишу апдейтер для одной программы(может немножко по-наркомански :D). Он получает с интернета список с обновлениями вида: version\n link (то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru