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

Ссылка на объект не указывает на экземпляр объекта

21.06.2017, 21:06. Показов 5299. Ответов 14
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ругается на красную строчку помогите.

C# Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
private void button4_Click_1(object sender, EventArgs e)
{
 
int columns = dataGridView1.ColumnCount;
int rows = dataGridView1.RowCount;
 
 
Word.Application application = new Word.Application();
Object missing = Type.Missing;
application.Documents.Add(ref missing, ref missing, ref missing, ref missing);
Word.Document document = application.ActiveDocument;
Word.Range range = application.Selection.Range;
Object behiavor = Word.WdDefaultTableBehavior.wdWord9TableBehavior;
Object autoFitBehiavor = Word.WdAutoFitBehavior.wdAutoFitFixed;
document.Tables.Add(range, rows, columns, ref behiavor, ref autoFitBehiavor);
 
 
 
for (int j = 0; j < rows; j++)
for (int i = 0; i < columns; i++)
{
document.Tables[1].Cell(j + 1, i + 1).Range.Text = dataGridView1[i, j].Value.ToString();
C# Скопировано
1
2
3
}
application.Visible = true;
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.06.2017, 21:06
Ответы с готовыми решениями:

Ссылка на объект не указывает на экземпляр объекта
Имеется рабочая программа WindowsForms, при открытии через EXE файл выдает следующую ошибку. После закрытия, программа работает нормально....

Ссылка на объект не указывает на экземпляр объекта
Когда вызывается событие SelectedIndexChanged, вылетает ошибка, что ссылка на объект не указывает на экземпляр объекта. Устал искать...

Ссылка на объект не указывает на экземпляр объекта
Всем привет ребята) В ходе выполнения цикла многомерного массива возникла ошибка &quot;System.NullReferenceException&quot; При том, что...

14
Администратор
Эксперт .NET
 Аватар для OwenGlendower
17898 / 13994 / 5345
Регистрация: 17.03.2014
Сообщений: 28,652
Записей в блоге: 1
21.06.2017, 23:39
alexxanderham, попробуй document.Tables[0]
0
1 / 1 / 0
Регистрация: 21.06.2017
Сообщений: 11
21.06.2017, 23:41  [ТС]
OwenGlendower, не помогло
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
17898 / 13994 / 5345
Регистрация: 17.03.2014
Сообщений: 28,652
Записей в блоге: 1
21.06.2017, 23:42
alexxanderham, значит отладчик в руки и смотри какая именно переменная дает null. Исходя из этого действуй дальше;
0
1 / 1 / 0
Регистрация: 21.06.2017
Сообщений: 11
21.06.2017, 23:59  [ТС]
OwenGlendower, Переменная i равно 0 но почему ?
0
3565 / 2506 / 1174
Регистрация: 14.08.2016
Сообщений: 8,216
22.06.2017, 00:07
наверно потому, что dataGridView1[0, некоторое_значение_j].Value пустое
1
1 / 1 / 0
Регистрация: 21.06.2017
Сообщений: 11
22.06.2017, 00:39  [ТС]
Diamante, в dataGridView1 нет значений 0
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
17898 / 13994 / 5345
Регистрация: 17.03.2014
Сообщений: 28,652
Записей в блоге: 1
22.06.2017, 00:42
alexxanderham, тяжелый случай однако. Нужно понять какая переменная равна null, а не 0. Это совсем разные вещи. Для этого посмотри в отладчике по порядку чему равны следующие выражения:
document.Tables[1]
document.Tables[1].Cell(j + 1, i + 1)
document.Tables[1].Cell(j + 1, i + 1).Range
document.Tables[1].Cell(j + 1, i + 1).Range.Text
dataGridView1[i, j]
dataGridView1[i, j].Value
0
1 / 1 / 0
Регистрация: 21.06.2017
Сообщений: 11
22.06.2017, 01:20  [ТС]
OwenGlendower, dataGridView1 AccessibleDefaultActionDescription null string
dataGridView1 AccessibleDescription null string
dataGridView1 AccessibleName null string
dataGridView1 BackgroundImage null System.Drawing.Image

Добавлено через 1 минуту
OwenGlendower, dataGridView1 SortedColumn null System.Windows.Forms.DataGridViewColumn
dataGridView1 Tag null object
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
17898 / 13994 / 5345
Регистрация: 17.03.2014
Сообщений: 28,652
Записей в блоге: 1
22.06.2017, 01:21
alexxanderham, зачем ты мне показываешь свойства объектов? Я тебе ясно написал какие выражения нужно проверить.
0
1 / 1 / 0
Регистрация: 21.06.2017
Сообщений: 11
22.06.2017, 01:36  [ТС]
OwenGlendower, Range.Text null
Value null
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
17898 / 13994 / 5345
Регистрация: 17.03.2014
Сообщений: 28,652
Записей в блоге: 1
22.06.2017, 01:40
Лучший ответ Сообщение было отмечено alexxanderham как решение

Решение

Цитата Сообщение от alexxanderham Посмотреть сообщение
Value null
Если под этим понимается dataGridView1[i, j].Value, то это и есть ошибка. Именно об этом и писал Diamante. Добавь проверку на null:
C# Скопировано
1
document.Tables[1].Cell(j + 1, i + 1).Range.Text = dataGridView1[i, j].Value == null ? "" : dataGridView1[i, j].Value.ToString();
1
1 / 1 / 0
Регистрация: 21.06.2017
Сообщений: 11
22.06.2017, 01:46  [ТС]
OwenGlendower, спасибо большое

Добавлено через 2 минуты
OwenGlendower, С этим не поможешь? Надо оставить данные только за текущий меяц.Удалят все записи даже за текущий месяц



C# Скопировано
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
private void button5_Click(object sender, EventArgs e)
        {
 
            DateTime dt;
            for (int i = 0; i < dataGridView1.Rows.Count - 1; i++)
            {
                DateTime.TryParse(dataGridView1.Rows[i].Cells[4].Value.ToString(), out dt); // Двойку замени на номер столбца, в котором у тебя столбец с датой
                if (dt.Year != DateTime.Now.Year || dt.Month != DateTime.Now.Month)
                {
                    dataGridView1.Rows.RemoveAt(i);
                    i -= 1;
                }
            }
 
 
        }
0
Администратор
Эксперт .NET
 Аватар для OwenGlendower
17898 / 13994 / 5345
Регистрация: 17.03.2014
Сообщений: 28,652
Записей в блоге: 1
22.06.2017, 01:50
alexxanderham, у нас принято следовать принципу "одна тема - один вопрос". Не надо смешивать несвязанные вопросы в одной теме тем более что ты уже создал тему с таким вопросом.
0
1 / 1 / 0
Регистрация: 21.06.2017
Сообщений: 11
22.06.2017, 01:53  [ТС]
OwenGlendower, Так вы поможете ?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.06.2017, 01:53
Помогаю со студенческими работами здесь

Ссылка на объект не указывает на экземпляр объекта
public class myButton { private PaintEventArgs l; public event PaintEventHandler Drawing; public event...

Ссылка на объект не указывает на экземпляр объекта
Здравствуйте!Проблема вот в чем. Перешел я c ListBox на ListView.Все изменил, все робит,но в некоторых местах выдает ошибку при отладке. ...

Ссылка на объект не указывает на экземпляр объекта
Доброго времени суток. Есть проблема. При запуске int RandNumbInt = 0; Random rand = new Random(); RandNumbInt =...

Ссылка на объект не указывает на экземпляр объекта
Есть такой код private void users_Load(object sender, EventArgs e) { getData(); } private...

Ссылка на объект не указывает на экземпляр объекта
Все строки с данной ошибкой указала в комментариях кода. Есть раздел раздел вычисления со случайными числами, и с ручным вводом ...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
BASH scripting - the best cases [PurpleSchool]
jigi33 08.04.2025
Занятия BASH в PurpleSchool - отличные примеры для внедрения в практику (see screenshots and file names)
Результаты исследования от команды MCM (март 2025 г.)
Programma_Boinc 07.04.2025
Результаты исследования от команды MCM (март 2025 г. ) В рамках наших текущих исследований мы продолжаем изучать гены, которые имеют наибольшую вероятность развития рака легких, выявленные в рамках. . .
Рекурсивные типы в Python
py-thonny 07.04.2025
Рекурсивные типы - это типы данных, которые определяются через самих себя или в сочетании с другими типами, которые в свою очередь ссылаются на исходный тип. В мире программирования такие структуры. . .
C++26: Объединение и конкатенация последовательностей и диапазонов в std::ranges
NullReferenced 07.04.2025
Работа с последовательностями данных – одна из фундаментальных задач, с которой сталкивается каждый разработчик. C++ прошел длинный путь в эволюции средств для манипуляции коллекциями – от. . .
Обмен данными в микросервисной архитектуре
ArchitectMsa 06.04.2025
Когда разработчики начинают погружаться в мир микросервисов, они часто сталкиваются с парадоксальным правилом: "два сервиса не должны делить один источник данных". Эта мантра звучит повсюду в. . .
PostgreSQL в Kubernetes: Автоматизация обслуживания с CNPG
Mr. Docker 06.04.2025
Администраторы баз данных сталкиваются с целым рядом проблем при обслуживании PostgreSQL в Kubernetes: как обеспечить правильную репликацию данных, как настроить автоматическое переключение при. . .
Async/await в TypeScript
run.dev 06.04.2025
Асинхронное программирование — это подход к разработке программного обеспечения, при котором операции выполняются независимо друг от друга. В отличие от синхронного выполнения, где каждая последующая. . .
Многопоточность в C#: Синхронизация потоков
UnmanagedCoder 06.04.2025
Многопоточное программирование стало неотъемлемой частью разработки современных приложений на C#. С появлением многоядерных процессоров возможность выполнять несколько задач параллельно значительно. . .
TypeScript: Классы и конструкторы
run.dev 06.04.2025
TypeScript, как статически типизированный язык, построенный на основе JavaScript, привнес в веб-разработку новый уровень надежности и структурированности кода. Одним из важнейших элементов этой. . .
Многопоточное программирование: Rust против C++
golander 06.04.2025
C++ существует уже несколько десятилетий и его поддержка параллелизма постепенно наращивалась со временем. Начиная с C++11, язык получил стандартную библиотеку для работы с потоками, а в последующих. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
Выделить код Копировать код Сохранить код Нормальный размер Увеличенный размер