![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Можно ли как-то добавить в GRID столбец, не связанный с таблицей, [D6]
AnIg © (2002-11-15 19:59:00)Можно ли как-то добавить в GRID столбец, не связанный с таблицей,
с которой свойством DataSet связан весь остальной GRID?
Заранее благодарен!
Андрей
Jeer (2002-11-18 21:41:00) [1]Господа !
Не мешайте кислое с пресным.
По крайне мере на тех движках, которые считаются сегодня стандартными и на тех алгоритмах, в основе которых лежит реляционная алгебра.
Наживете себе мозоли на всем мыслимом и потеряете чувствительность :))
Val (2002-11-18 21:22:00) [2]попробуйте такой трюк для возможности редактирования: Query1.Cached Updates = true, а затем что-то подобное в обработчике Query1.OnUpdateRecord:
procedure TMyForm.Query1UpdateRecord(DataSet: TDataSet;
UpdateKind: TUpdateKind; var UpdateAction: TUpdateAction);
begin
//Hack
end;
BlackTiger (2002-11-18 19:29:00) [3]У меня тоже была похожая проблема.
Насколько я понял из всего вышесказанного реального (человеческого) решения никто не знает.
Вот мое решение:
Берешь RxMemoryTable ("виртуальная" таблица), описываешь ее структуру + твои колонки, в нее загружаешь данные (LoadFromDataset(YourDataset1)) из твоей рабочей таблицы (будут взяты только "физически" существущие колонки). Дальше работаешь с ней. Вот только одна проблема - все изменения нужно обрабатывать руками, иначе они потеряются при закрытии (вроде есть метод сохранения в датасет SaveToDataset, но я его не пробовал).
Может кто и знает другое решение, как кодом присобачить колонку, которая не существует в таблице, но в которую нужно занести данные, но тут, видимо, таких нет (хорошо наехал?).
AnIg (2002-11-18 15:26:00) [4]Мне надо вывести в грид данные из таблицы (описание оборудования)
и надо указать количество каждого наименования. Вот я и хотел
вывести таблицу, а в отдельном столбце ВВОДИТЬ количество (произвольное целое). Но в табице не сохранять, а просто перед
закрытием "скопировать" этот столбец в массив.
>> q1.sql.add("select *, 0 as ADDCOLUMNEW from kategor");
- замечательно создает стобец, но не разрешает его редактировать,
(RequestLive = True;)
Это победимо?
Hun (2002-11-16 23:52:00) [5]>вывести таблицу, а в отдельном столбце указать количество (произвольное целое).
А это поле потом чего, руками заполнять? Может сразу в базе считать? Как - зависит от конкретной СУБД. Короче делать как Котелок © предлагал, но вместо 0 as ADDCOLUMNEW ставить подзапрос (функцию), который считает сумму (из другой таблици, надо пологать). Хотя так работать будет медленно, лучше вместо второй таблици поставить подселект, вычисляющий суммы.
fishb0ne (2002-11-16 08:12:00) [6]Вывод данных из двух таблиц сразу возможен с помощью SQL-запроса компонента Query..
Котелок (2002-11-16 02:10:00) [7]q1.Close;
q1.sql.clear;
q1.sql.add("select *, 0 as ADDCOLUMNEW from kategor");
q1.open;
Pat (2002-11-16 01:19:00) [8]>в отдельном столбце указать количество (произвольное целое).
Random что ли? :)
Создай в таблице вычисляемое поле. Возможно, будет проще к нему обращаться...
TovAV (2002-11-15 20:50:00) [9]Вообще-то я новичек.
Но мне кажется что не определив field в TTable
в гриде с ним вооще ничего делать нельзя
разве что цвет менять.
AnIg (2002-11-15 20:25:00) [10]Мне надо вывести в грид данные из таблицы (описание оборудования)
и надо указать количество каждого наименования. Вот я и хотел
вывести таблицу, а в отдельном столбце указать количество (произвольное целое). Но в табице не сохранять, а просто перед
закрытием "скопировать" этот столбец в массив.
TovAV (2002-11-15 20:15:00) [11]Можно.
Дважды-клик на гриде и добавляй.
А зачем?