Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Повторный вызов DataAdapter.Fill
|
|||
|---|---|---|---|
|
#18+
Имеется пустой dataSet. Заливаю в него таблицу SqlAdapter.Fill(dataSet, "TableName") Связываю таблицу с гридом, все прекрасно отображается. Повторно вызываю SqlAdapter.Fill(dataSet, "TableName") который возвращает уже другие данные. Грид отображает старые. Что я не так делаю ? Переприсвоение гриду свойств DataSource и DataMember, вызов SetDataBinding, предварительное удаление таблиц из датасета не помогают. При просмотре в отладчике dataSet после второго вызова Fill содержит одну таблицу TableName, в которой содержатся верные данные. Грид также ссылается на верный датасет и прописан DataMember="TableName" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 15:01 |
|
||
|
Повторный вызов DataAdapter.Fill
|
|||
|---|---|---|---|
|
#18+
Попробуй Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 17:17 |
|
||
|
Повторный вызов DataAdapter.Fill
|
|||
|---|---|---|---|
|
#18+
Забыл уточнить. Я работаю с Windows.Forms SetDataBinding в формах - это аналог DataBind в web, как я понимаю. Это не помогло, как я говорил... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 17:57 |
|
||
|
Повторный вызов DataAdapter.Fill
|
|||
|---|---|---|---|
|
#18+
mucksЗабыл уточнить. Я работаю с Windows.Forms SetDataBinding в формах - это аналог DataBind в web, как я понимаю. Это не помогло, как я говорил... Пардон. Я в последнее время больше с web. Может, стоит попробовать Код: plaintext 1. 2. 3. Это только предположения, сам с такой ситуацией не сталкивался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 18:13 |
|
||
|
Повторный вызов DataAdapter.Fill
|
|||
|---|---|---|---|
|
#18+
Нет, не помогло. Кстати, попутный вопрос, который должен помочь проблеме. Если выполнить dataSet.Tables.Clear() , то грид продолжает отображать данные. Вопрос: откуда он их берет ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 18:40 |
|
||
|
Повторный вызов DataAdapter.Fill
|
|||
|---|---|---|---|
|
#18+
Привидите код, особенно интересует как осуществляется биндинг Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2005, 21:39 |
|
||
|
Повторный вызов DataAdapter.Fill
|
|||
|---|---|---|---|
|
#18+
Полный код довольно длинный. Вот часть, где таблица заполняется. Эта функция вызывается последовательно два раза с разным параметром. После первого раза работает, после второго грид гонит. Код: plaintext 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. Разнообразные Update, Refresh, AcceptChanges и переприсвоения DataSource добавлены в поисках истины. Первый вызов прекрасно работает без них. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 10:59 |
|
||
|
Повторный вызов DataAdapter.Fill
|
|||
|---|---|---|---|
|
#18+
Заодно код CreateColumns Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 11:05 |
|
||
|
Повторный вызов DataAdapter.Fill
|
|||
|---|---|---|---|
|
#18+
Попробуйте вместо: Код: plaintext 1. Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 12:16 |
|
||
|
Повторный вызов DataAdapter.Fill
|
|||
|---|---|---|---|
|
#18+
Спасибо, в этом случае работает. Но все таки интересно, откуда грид берет данные, если таблицу удалили. Значит dataSet оставляет на нее ссылку где то и потом когда грид хочет получить dataMember = "Specification" возвращает именно ее. Больше мне ничего не приходит в голову. Может есть какой нибудь хитрый метод, который чистит dataSet от подобных вещей, а я о нем не знаю ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 14:41 |
|
||
|
Повторный вызов DataAdapter.Fill
|
|||
|---|---|---|---|
|
#18+
Но все таки интересно, откуда грид берет данные, если таблицу удалили. Значит dataSet оставляет на нее ссылку где то и потом когда грид хочет получить dataMember = "Specification" возвращает именно ее. Больше мне ничего не приходит в голову. Может есть какой нибудь хитрый метод, который чистит dataSet от подобных вещей, а я о нем не знаю ? Это баг Netframework 1.1, а в багах искать логику - неблагодарное занятие :-))) Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.01.2005, 14:58 |
|
||
|
Повторный вызов DataAdapter.Fill
|
|||
|---|---|---|---|
|
#18+
Возможно ты не очищал DataSet, "tablename". И каждый раз DataAdapter добавлял строки в конец таблицы "tablename". Может стоит попробовать ее очистить перед Fill ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2005, 15:23 |
|
||
|
Повторный вызов DataAdapter.Fill
|
|||
|---|---|---|---|
|
#18+
Он не просто пытался очищать, но и также удалять таблицу из коллекции таблиц DataSet. Это известный баг. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.02.2005, 15:33 |
|
||
|
Повторный вызов DataAdapter.Fill
|
|||
|---|---|---|---|
|
#18+
у меня тоже возникла проблема по этой теме. грид не отображает новые данные при повторном fill. вы рекомендуете использовать вместо SetDataBinding(datasourse,datamember) строчку mygrid.Datasource = Mydataset.tables(datamember) а если у меня грид завязан на отношении, то есть отображает дочерние записи? (datamember в этом случае равен имени родительской таблицы.имя отношения) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2005, 06:39 |
|
||
|
Повторный вызов DataAdapter.Fill
|
|||
|---|---|---|---|
|
#18+
mysvetikу меня тоже возникла проблема по этой теме. грид не отображает новые данные при повторном fill опиши по шагам - как ты делаешь повторный Fill ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2005, 07:20 |
|
||
|
Повторный вызов DataAdapter.Fill
|
|||
|---|---|---|---|
|
#18+
вы рекомендуете использовать вместо SetDataBinding(datasourse,datamember) строчку mygrid.Datasource = Mydataset.tables(datamember) рекомендовали для случая описанного mucks , как будет у вас надо смотреть ваш код. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2005, 07:36 |
|
||
|
Повторный вызов DataAdapter.Fill
|
|||
|---|---|---|---|
|
#18+
Задача в следующем: в датасете есть две таблички . Дело в том что изначально записей в этих табличках очень много (3млн). между этими табличками есть связь по нескольким полям. используется запрос для ограничения колич-ва записей (myQuery). открывается соединение(либо OracleConnection, либо SqlConnection,либо OleDbConnection в зависимости от присоединяемой таблицы). используется соответствующий Dataadapter(приведу пример для оракла) в датасет загружены две таблички, одна из которых с именем m_tab. Затем мы хотим присоединить ту же табличку но данные другие m_nameRelation - имя текушего отношения между таблицами Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. На самом деле все сложнее, но смысл такой. В первый раз все срабатывает замечательно, затем мы выполняем данный код, с другим MyQuery. И на строчке Me.Datagrid2.SetDataBinding - проблема. данный грид ничего не отображает ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2005, 11:36 |
|
||
|
Повторный вызов DataAdapter.Fill
|
|||
|---|---|---|---|
|
#18+
Я правильно понял, вы показываете Master - Detail . Порционно вы обновляете данные первого грида, а данные для второго уже загружены ранее? Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.02.2005, 21:09 |
|
||
|
Повторный вызов DataAdapter.Fill
|
|||
|---|---|---|---|
|
#18+
2 mysvetik если у тебя при повторном заполнении структура таблицы не изменияется (выбираются те же поля), то можно обойтись Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 01:16 |
|
||
|
Повторный вызов DataAdapter.Fill
|
|||
|---|---|---|---|
|
#18+
Да, я показываю Master-Detail. Данные для одного грида уже загружены. я порционно обновляю данные второго грида. и при повторном заполнении структура может измениться (имеется ввиду что таблица та же но отображаемые поля в гриде могут меняться) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 05:12 |
|
||
|
Повторный вызов DataAdapter.Fill
|
|||
|---|---|---|---|
|
#18+
структура может измениться (имеется ввиду что таблица та же но отображаемые поля в гриде могут меняться) На первый взгяд нехорошо это.... Это у вас одна таблица или повторный запрос может осуществляться к другой? Теперь, что у вас является Master, а что Detail. Первый грид - Master, второй - Detail????? В данном случае можно сделать все максимально просто: 1) Не использовать DataRelation 2) Подписаться на PositionChanged объекта CurrencyManager 3) Фильтровать записи используя свойство DataView.RowFilter Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 06:35 |
|
||
|
Повторный вызов DataAdapter.Fill
|
|||
|---|---|---|---|
|
#18+
Я попробовала не использоватьDataRelation. Использовать PositionChanged объекта CurrencyManager. В первом гриде у меня отображается главная таблица, во втором Detail (используя фильтр) В общем то все получается, достаточно быстро и неплохо. Спасибо! у меня вопрос, подскажите плиз, я хочу чтобы в первом гриде(то есть главном), не отображались строки, для которых нет подчиненных, а строки, для которых подчиненных больше 1, выделялись бы каким нить цветом. Такое можно реализовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 11:29 |
|
||
|
Повторный вызов DataAdapter.Fill
|
|||
|---|---|---|---|
|
#18+
mySvetik я хочу чтобы в первом гриде(то есть главном), не отображались строки, для которых нет подчиненных, не возвращайте такие строки запросом. mySvetik а строки, для которых подчиненных больше 1, выделялись бы каким нить цветом. Такое можно реализовать? В принципе здесь тоже можно в запросе создать дополнительное поле, в котором указывать существует больше одной подчиненной записи или нет. Далее можно обратиться к форуму VB.NET там помнится я приводил пример как раскрашивать DataGrid по определенному условию. Если не найдете я помогу отыскать этот топик. Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.03.2005, 11:41 |
|
||
|
Повторный вызов DataAdapter.Fill
|
|||
|---|---|---|---|
|
#18+
я нашла топик, почитала.Спасибо. как бы с раскраской все понятно, но как быть если мне нужно раскрасить ячейку по значению другой ячейки этой строки? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2005, 07:07 |
|
||
|
|

start [/forum/topic.php?fid=17&fpage=121&tid=1353823]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
70ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 13ms |
| total: | 186ms |

| 0 / 0 |
