Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Нужен совет.по DataSet
|
|||
|---|---|---|---|
|
#18+
Всем привет! Хотел посоветоватся по данному вопросу. Есть форма на которой рисуются всякие графические фигуры. Данные по графической фигуре сохраняется в DataSet. У каждой фигуры есть куча свойств. Для заполнения этих свойств (так же хранятся в DataSet) был создан Мастер свойств, т.е. Появляется форма и предлогается ввести информацию и т.д. всего пришлось создать 20 форм. Все данные вводимые в эти формы сохраняются во временных таблицах DataSet. В последней форме данные из временных таблиц передаются в действующие. Проблема в том, что пришлось каждый раз из одной формы в другую передавать в качестве параметра DataSet. Когда графических фигур не много, то работает нормально, но при увеличении их числа ужастно тормазит. Посоветуйте как можно упростить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 12:43 |
|
||
|
Нужен совет.по DataSet
|
|||
|---|---|---|---|
|
#18+
Проблема в том, что пришлось каждый раз из одной формы в другую передавать в качестве параметра DataSet. Когда графических фигур не много, то работает нормально, но при увеличении их числа ужастно тормазит. Посоветуйте как можно упростить. Этож сколько у вас графических фигур? А вообще на все приложение можно использовать один DataSet. Например, объявив его в mainForm с модификатором internal (видимость на solution). Тогда обращаться можно к нему из любой формы примерно так: Код: plaintext 1. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 13:04 |
|
||
|
Нужен совет.по DataSet
|
|||
|---|---|---|---|
|
#18+
Как вариант могу предложить выделить специальный класс для работы с датасетом, или его хранения... Плюс, уменьшаеться кол-во писанины так как все специфические функции выносяться в один класс, как вариант его можна сделать статическим... _________________________________________________ Легче написать не правильную программу чем понять правильную (С) Alan Perlis ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 13:15 |
|
||
|
Нужен совет.по DataSet
|
|||
|---|---|---|---|
|
#18+
2Sa >MessageBox.Show(mainForm.myDataSet.DataSetName); Я не очень много работал с C#, но по моему такая конструкция будет работать, если myDataSet еще вдобавок и статический член класса mainForm......... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 13:39 |
|
||
|
Нужен совет.по DataSet
|
|||
|---|---|---|---|
|
#18+
vooo >MessageBox.Show(mainForm.myDataSet.DataSetName); Я не очень много работал с C#, но по моему такая конструкция будет работать, если myDataSet еще вдобавок и статический член класса mainForm......... Ну я думал что будет понятно из правила именования объектов о то что mainForm это экземпляр класса MainForm. Пример привел утрированный, лишь бы подчерпнуть что используем один DataSet из главной формы. Как вернуть mainForm уже другой вопрос так как дополнительных разъяснений по этой задаче пока нет. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 13:52 |
|
||
|
Нужен совет.по DataSet
|
|||
|---|---|---|---|
|
#18+
Все таки хотелось узнать, как более грамотно реализовать возможность обратиться к "единому" DataSet из любой формы solution. Вариантов много - от передачи в параметрах самого DataSet, свойствам таблицы/строки / вьюхи и тд и тп (DataTable.DataSet,DataRow.Table.DataSet,DataView.Table.DataSet) принадлежащей DataSet, объявлением DataSet статическим членом основной формы до работы с отдельным классом. Если я правильно понимаю, то при работе с DataSet, как отдельным классом, возникнут ограничения в работе с визуальной средой разработки (через xsd схему) - хотя на самом деле в подавляющем большинстве случаев создавать в датасет таблицы (соостветствующие DataAdapter), Relations и тд и тп наглядней в коде программы, нежели использовать Wizard'ы , которые создают кучу ненужного кода.... Спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 14:27 |
|
||
|
Нужен совет.по DataSet
|
|||
|---|---|---|---|
|
#18+
Я думал об этом, но проблема втом, что DataSet заполняется в главной форме, и если мы будем создавать mainForm какэкземпляр класса MainForm, то следовательно и DataSet у нас будет пустой. Я же делал следующее: Из главной формы создаем экземпляр класса Form2 Код: plaintext 1. В Form2 добавил следующее в момент инициализации Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. После добавления всей необходимой информации делал Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 14:32 |
|
||
|
Нужен совет.по DataSet
|
|||
|---|---|---|---|
|
#18+
Если я правильно понимаю, то при работе с DataSet, как отдельным классом, возникнут ограничения в работе с визуальной средой разработки (через xsd схему) - хотя на самом деле в подавляющем большинстве случаев создавать в датасет таблицы (соостветствующие DataAdapter), Relations и тд и тп наглядней в коде программы, нежели использовать Wizard'ы , которые создают кучу ненужного кода.... Вся конкретика зависит от задачи. Преимущества design можно сохранить при использовании нескольких DataSet. Если есть необходимость то их можно слить при помощи Merge (подчеркиваю если такая необходимость есть, если нет то и не зачем сливать, обрабатываем каждый по отдельности) Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 14:37 |
|
||
|
Нужен совет.по DataSet
|
|||
|---|---|---|---|
|
#18+
Я думал об этом, но проблема втом, что DataSet заполняется в главной форме, и если мы будем создавать mainForm какэкземпляр класса MainForm, то следовательно и DataSet у нас будет пустой. Вы правильно сказали создавать . Но об этом то речи не идет, речь идет о том как вернуть экемпляр класса MainForm. То есть это мог например быть следующий код в случае вызова из главной формы модального диалога. Код: plaintext 1. 2. 3. 4. 5. 6. 7. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 14:42 |
|
||
|
Нужен совет.по DataSet
|
|||
|---|---|---|---|
|
#18+
2 vooo Да еще бы я добавил по design, мы ведь всегда можем подменить DataSource у "настроенных" компонентов нашим dataSet из mainForm. 2 chess Мне не понятны тормоза, о каком объем данных идет речь? Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 14:50 |
|
||
|
Нужен совет.по DataSet
|
|||
|---|---|---|---|
|
#18+
Мне не понятны тормоза, о каком объем данных идет речь?Приблизительно до 5000 тысяч записей еще по божески, а после, приходится ждать загрузки формы в течении минуты...... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 15:01 |
|
||
|
Нужен совет.по DataSet
|
|||
|---|---|---|---|
|
#18+
Я так понял у вас существует четкая последовательность действий (что то наподобее мастера) выполняя которую на выходе получаем DataSet. Который, по завершению всех действий, необходимо "скинуть" в БД? Не вижу где у вас Update. А также непонятно для чего очищать DataSet при Merge: Код: plaintext 1. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 15:17 |
|
||
|
Нужен совет.по DataSet
|
|||
|---|---|---|---|
|
#18+
Данные извлекаются а затем записываются в XML файл. Очищаю для того, чтобы не продублировать данные которые уже есть в DS. Попробовал ваш код Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 16:03 |
|
||
|
Нужен совет.по DataSet
|
|||
|---|---|---|---|
|
#18+
chessДанные извлекаются а затем записываются в XML файл. Очищаю для того, чтобы не продублировать данные которые уже есть в DS. Пока думаю у вас XML файл - является слабым звеном. И все равно не понимаю почему при Merge данные дублируются? chess но почему то mainForm всегда равен null??? Конечно вы ведь вызываете не модальную форму (метод Show), а пример я написал если бы например у вас было так: Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2004, 16:11 |
|
||
|
|

start [/forum/topic.php?fid=20&msg=32564014&tid=1438992]: |
0ms |
get settings: |
11ms |
get forum list: |
17ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
66ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
71ms |
get tp. blocked users: |
2ms |
| others: | 263ms |
| total: | 454ms |

| 0 / 0 |
