Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как добавить/удалить поля в DataSet?
|
|||
|---|---|---|---|
|
#18+
Здравствуйте. Проблема: В формочке пользователь выбирает, поля, необходимые ему в отчете. В соответсвии с его выбором создается view, в котором присутсвуют только выбранные поля, которые и попадают в отчет. Также существуют 2 вычисляемых поля, которые всегда должны попасть в отчет. Было сделано как обычно по простому Изначально, в датасете находятся все возможные поля view, а по выбору пользователя удаляются ненужные. Все бы хорошо, но при повторной генерации отчета, естественно программа вылетала с ошибкой если пользователь выбирал удаленное поле. Как победить? второй день мучаюсь В идеале надо бы динамически считывать FieldDefs и добавлять вычисляемые поля с необходимым индексом БД: Oracle Доступ к БД: Direct Oracle Access + MIDAS ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2003, 18:02 |
|
||
|
Как добавить/удалить поля в DataSet?
|
|||
|---|---|---|---|
|
#18+
Сразу оговорюсь что ни с Ораклом, ни с Мидасом не знаком, но может быть не удалять а просто _выбирать_ нужные колонки? Делать просто select из viewa каждый раз при запуске отчета ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2003, 18:21 |
|
||
|
Как добавить/удалить поля в DataSet?
|
|||
|---|---|---|---|
|
#18+
2hyh Не понял ... :(( Ты предлагаешь оставить поля датасета пустыми, а выбирать из view необходимое? Во view всегда лежит то что мне небоходимо, а количество столбцов (полей) различно, но мне необходимы все. Почему не Код: plaintext Если не использовать вычисляемые поля, - все работает на ура! Т.е. DataSet на лету подхватывает поля из выборки грида их корректно отображает. Но .. пропадают вычислеямые поля. :(( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2003, 18:39 |
|
||
|
Как добавить/удалить поля в DataSet?
|
|||
|---|---|---|---|
|
#18+
DataSet можно генерить динамически qDataSet:=TClientDataSet.Create(self); qDataSet.FieldDefs.Clear; with qDataSet.FieldDefs.AddFieldDef do begin DataType := ftInteger; Name := 'Поле1'; end; with qDataSet.FieldDefs.AddFieldDef do begin DataType := ftString; Name := Поле2'; end; и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2003, 18:43 |
|
||
|
Как добавить/удалить поля в DataSet?
|
|||
|---|---|---|---|
|
#18+
А зачем DataSet создавать динамически? Пробовал такой код: .... OnBeforeQuery Sender.FieldDefs.Clear; дальше аналогично ... Видимы становятся только вычичсляемые поля :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2003, 18:58 |
|
||
|
Как добавить/удалить поля в DataSet?
|
|||
|---|---|---|---|
|
#18+
Так ведь спрашивал "Как добавить/удалить поля в DataSet?" - я и сказал ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2003, 19:08 |
|
||
|
Как добавить/удалить поля в DataSet?
|
|||
|---|---|---|---|
|
#18+
Но это не решает задачу :( Мне необходимо добавить вычислемые поля, не удаляя при этом физические поля БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2003, 19:13 |
|
||
|
Как добавить/удалить поля в DataSet?
|
|||
|---|---|---|---|
|
#18+
А просто делать невидимыми ненужные поля не подойдет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2003, 19:19 |
|
||
|
Как добавить/удалить поля в DataSet?
|
|||
|---|---|---|---|
|
#18+
view динамически создается с нужным количеством полей. т.е. нужны все поля из view + 2 вычисляемых. Как все это динамически подгрузить в датасет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2003, 19:35 |
|
||
|
Как добавить/удалить поля в DataSet?
|
|||
|---|---|---|---|
|
#18+
Изначально, в датасете находятся все возможные поля view, а по выбору пользователя удаляются ненужные Зачем их удалять можно просто делать visible := false Или я опять что-то неправильно понял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2003, 19:41 |
|
||
|
Как добавить/удалить поля в DataSet?
|
|||
|---|---|---|---|
|
#18+
Если сделать Visible = False у несуществуюего поля вылетает ексепшен. Заранее неизвестно, сколько полей во view. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2003, 19:48 |
|
||
|
Как добавить/удалить поля в DataSet?
|
|||
|---|---|---|---|
|
#18+
Используй DataSet.FindField('name') ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.12.2003, 19:59 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=32349854&tid=2115504]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
73ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 250ms |
| total: | 417ms |

| 0 / 0 |
