![]() |
|
Модераторы: gambit |
![]()
|
|
| Grandpa |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 24.7.2003 Где: Одесса Репутация: нет Всего: нет |
Никто не сталкивался с такой проблемой.
В таблице хранятся "приход" и "расходы", т.е. существует поле, которое содержит ключ записи в той же таблице. Отношение один-ко-многим в одной таблице. Соответственно два DataGridView, первый отображает "приходы", а второй "расходы" (для каждого "прихода" из 1-го грида). Всё работает нормально до тех пор, пока во втором гриде не устанавливаешь VirtualMode=true и не делаешь поле для этого режима (для подсчета разности двух полей таблицы). При загрузке формы вываливается StackOverflowException. Поэкспериментировал, StackOverflowException вываливается даже тогда, когда в поле просто заносишь число! Похоже, где-то образуется рекурсия, но где? |
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: нет Всего: 67 |
Grandpa,
часто бывает, когда по невнимательности получается такое свойство:
-------------------- СУВ, Partizan. |
|||
|
||||
| Grandpa |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 24.7.2003 Где: Одесса Репутация: нет Всего: нет |
Спасибо, запомню на будующее. Но в данном случае не то.
|
|||
|
||||
| Partizan |
|
|||
![]() Let's do some .NET ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 2828 Регистрация: 19.12.2005 Где: Санкт-Петербург Репутация: нет Всего: 67 |
Grandpa, а под отладчиком никак не посмотреть на чём именно зацикливается программа?
-------------------- СУВ, Partizan. |
|||
|
||||
| Grandpa |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 24.7.2003 Где: Одесса Репутация: нет Всего: нет |
Просматривал. В сгенерированном коде, когда Resume для первого грида. Точнее показать не могу, т.к. сейчас я дома. Завтра с работы дам отрывок кода. Есть предположение, что надо поменять порядок генерации (через taborder), сначала 1-й граид, потом 2-й (сейчас наоборот).
|
|||
|
||||
| Grandpa |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 24.7.2003 Где: Одесса Репутация: нет Всего: нет |
Ещё раз пошёлся отладчиком. Картина такая. При создании окна успешно проходит инициализация компонентов. Затем несколько обращенией к CellValueNeeded для создания виртуальных колонок для 1-го грида, затем много обращений к CellValueNeeded для 2-го грида и, похоже, в
этом месте безконечный цикл. Обращения происходят из кода недоступного отладчику. |
|||
|
||||
| Grandpa |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 24.7.2003 Где: Одесса Репутация: нет Всего: нет |
Ура! Разобрался сам. Моя вина. Для других гридов делал правильно, а в этом бес попутал!
Нельзя напрямую устанавливать значение ячейки, только через параметр e! |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |