powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Помогите разобраться с ошибкой..
21 сообщений из 21, страница 1 из 1
Помогите разобраться с ошибкой..
    #32777075
Sanitto!!!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Помогите, пжалста, въехать, я что-то ничего не пойму..

Значит, есть DataGrid, в который выводится таблица из базы данных. В процессе работы таблица обновляется каждую минуту. Так вот.. периодически при обновлении вываливается ошибка, причем появление ее абсолютно не связано ни с чем. Может появится 5 раз за 20 минут, а может и не вываливаться часов 5.. Отследить ее не знаю как..

Exception говорит, что ошибка произошла на строке

this.dgProc.TableStyles.Clear();

dgProc - это, соответственно, DataGrid.
Если игнорировать ошибку, то слетает таблица стилей, а это, естественно, не гуд.

Сообщение об ошибке:
'0' is not a valid value for 'value'. 'value' should be between 'minimum' and 'maximum'.

В общем я уже голову сломал. Кто дурак - я или компьютер? :)
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой..
    #32777230
Por
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Por
Гость
Не знаю как со стилями, но ошибка эта возникает в NumericUpDown Control тогда, когда значение Value контрола выходит из промежутка ограниченного свойствами Maximum и Minimum.

Скорее всего в какой-то момент значение поля "таблицы из базы данных" принимает нулевое значение в то время, как контрол к которому это поле прибиндено позволяет отображать значения > 0.
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой..
    #32777288
Sanitto!!!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У меня кроме DataGrida нет больше никаких контролов..

Единственное, что я придумал, что может так глючить в DataGride - это скроллбары. Но как с этим бороться??? Что делать???

Шеф, все пропало, все пропало.. :)
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой..
    #32777292
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Sanitto!!!
ты не переустанавливаешь значения DataSource и/или DataMember у грида ?
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой..
    #32777300
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+
В процессе работы таблица обновляется каждую минуту.это делается в том же потоке или в отдельном thread ?
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой..
    #32777330
Sanitto!!!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Переустанавливаю DataSource..

this.dgProc.DataSource = _dtTable;

this.dgProc.TableStyles.Clear();

А обновление делается в том же потоке по таймеру.
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой..
    #32777398
Sanitto!!!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот развернутое сообщение об ошибке:

************** Exception Text **************

System.ArgumentException: '0' is not a valid value for 'value'. 'value' should be between 'minimum' and 'maximum'.

at System.Windows.Forms.ScrollBar.set_Value(Int32 value)

at System.Windows.Forms.DataGrid.SetDataGridTable(DataGridTableStyle newTable, Boolean forceColumnCreation)

at System.Windows.Forms.DataGrid.TableStylesCollectionChanged(Object sender, CollectionChangeEventArgs ccea)

at System.Windows.Forms.GridTableStylesCollection.OnCollectionChanged(CollectionChangeEventArgs ccevent)

at System.Windows.Forms.GridTableStylesCollection.Clear()

at VIPManager.frmMain.FillDataList(String sFilter, Boolean bOrder) in c:\itwork\vipdatagrid\frmmain.cs:line 1177

at VIPManager.frmMain.miUpdate_Click(Object sender, EventArgs e) in c:\itwork\vipdatagrid\frmmain.cs:line 913

at VIPManager.frmMain.tmrTime_Tick(Object sender, EventArgs e) in c:\itwork\vipdatagrid\frmmain.cs:line 1398

at System.Windows.Forms.Timer.OnTick(EventArgs e)

at System.Windows.Forms.Timer.Callback(IntPtr hWnd, Int32 msg, IntPtr idEvent, IntPtr dwTime)
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой..
    #32777399
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
есть несколько [....] моментов при смене DataSource в гриде
попробуй перед установкой нового значения в DataSource выполнить:
Код: plaintext
1.
2.
3.
4.
5.
dg.Focus();             // <--- из-за этого [+position в CM] вся х..ня
if(dg.DataSource!=null)	// <--- дополнительное бл?*:!во при смене данных
{ CurrencyManager cm=dg.BindingContext[dg.DataSource, dg.DataMember] as CurrencyManager;
  // обязательно устанавливать, иначе не находит колонки в таблице:
  if(cm!=null && cm.Count>0) dg.CurrentCell=new DataGridCell(0, 0);	
}
попробуй (это из одного моего работающего проекта)
похоже, что DataGrid не совсем предназначен для динамической смены DataSource :(
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой..
    #32777451
Sanitto!!!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вставил код.

Пока работает, если вдруг ошибка опять появится - напишу. :)

Спасибо.
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой..
    #32777881
Sanitto!!!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А-а-а-а-а-а!!!

Опять эта ошибка вылезла.. что делать???
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой..
    #32777932
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
коллекцию стилей обязательно нужно чистить ?

многие вещи можно выяснить только экпериментально.
0. не трогай стили
1. удаляй стили до смены DataSource
2. устанавливай DataSource в null и чисти коллекцию
3. потестируй вообще без стилей
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой..
    #32777963
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЗЫ. у меня стили устанавливаются один раз при загрузке формы на пустом гриде и больше к этой коллекции не прикасаюсь :)
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой..
    #32778004
Serg****
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А какая у тебя винда?
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой..
    #32778005
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и еще вариант.
не трогай грид.
чисти таблицу от данных и заполняй ее (через адаптер ?) в "подключенном" к гриду режиме.
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой..
    #32778071
Sanitto!!!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Уф-ф..

Винда у меня ХР.

По поводу установки стилей.
Без стилей вообще работает, но так как ошибка трудноотлавливаемая, то это еще не факт.. :) И со стилями долго нормально работать может..

Заполнять таблицу через адаптер не получится, так как таблица до вывода претерпевает изменения, вносимые программно.. :) Два столбца добавляется, данные в них.. Если только править ее в "подключенном режиме"..

Ща попробую установить стили на этапе загрузки.. Посмотрим.

Проблема в том, что сразу определить - помогло или нет нельзя.. Хрен ее знает, когда эта ошибка еще вылезет.

Кстати, забыл сказать - процентах в 75 эта ошибка вылезает, если непосредственно с прогой работа не ведется, она просто висит на панели задач.
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой..
    #32778100
Serg****
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А во время дебага эта ошибка не появляется?
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой..
    #32778102
кузя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
кстати, эти прелести DataGrid'а почувствовал, когда загружал свой контрол в Internet Explorer. в нормальной widows form все работало ооочень долго. под отладчиком ошибку поймать не мог ни разу. только в режиме свободного полета в течении нескольких часов. ну а в IE - там на 3-5 смене DataSource.
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой..
    #32778154
Sanitto!!!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Во время дебага ошибки не было ни разу.. Хотя прога висит по нескольку часов.

У меня смена DataSource каждую минуту - соответственно не один десяток смен выдерживает..

Прога вообще-то рабочая, на ней два юзера уже дела делают. :) Так вот у одного эта ошибка раза в 3 чаще..
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой..
    #32778220
Serg****
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кажется, что тут ошибка не в DataGrid, вернее внем, но концептуально не в нем, а вот в чем - ? я думаю что что-то не так с потоками.
У меня похожая фигня с ToolBar -ом , хотя ошибку я уже могу генерировать в два приема, а раньше так же как ты делал - ждал и щелкам по форме.
А вообще в инете много таких ошибок на форумах, а вот ответов нету :(
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой..
    #32779262
Sanitto!!!
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ошибка так и валит..

Епть.. пойду повешусь.
...
Рейтинг: 0 / 0
Помогите разобраться с ошибкой..
    #32779354
Фотография ctmike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если еще не повесился, то сделай второй типизированный датасет прибинди его на всегда к датагриду и заполняй его в коде сразу после того как обновился первый. Тока ИМХО луше подумать над тем чтобы не закачивать весь датасет по таймеру, напимер чтобы другие клиенты оповещали что изменилось и обновлять токо то что изменилось. Кстати может как идею не по таймеру а по Аппликатион.Идл??

Наилушие...
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Помогите разобраться с ошибкой..
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]